Function at 0x542d30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x5437d7
sub esp, 0xf8
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x24], edx
call fcn.0040c790
mov eax, dword [esp]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
jmp 0x542d83
mov dword [ebp], ebx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x5c]
test edx, edx
je 0x542f78
xor ebx, ebx
jmp 0x542f9d
cmp ebx, edx
ja 0x5437cd
sub edx, ebx
mov ebp, edx
neg edx
sar edx, 0x1f
and ebx, edx
add ebx, ecx
test ebp, ebp
je 0x542f78
xor ecx, ecx
jmp 0x542fb4
cmp ecx, ebp
jmp 0x542dc0
cmp ecx, ebp
jmp 0x542dc0
cmp ecx, ebp
jge 0x543314
jae 0x5437c4
xchg esi, eax
cmp al, 0x3a
xchg esi, eax
jne 0x5431f0
lea esi, [ecx + 1]
cmp ebp, esi
jle 0x543106
jbe 0x5437bb
movzx edi, byte [ecx + ebx + 1]
xchg edi, eax
cmp al, 0x22
xchg edi, eax
jne 0x542fe2
sub ebp, ecx
mov dword [esp + 0x50], ebp
lea edx, [ebp - 1]
mov edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
lea esi, [ebx + edi]
mov edi, 1
jmp 0x543403
cmp edi, edx
jge 0x5436c1
lea ebp, [edi + 1]
cmp ebp, edx
ja 0x5437ab
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.00476300
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x543555
mov dword [esp + 0x54], edx
mov dword [esp + 0x20], ebx
lea eax, [0x562120]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
call fcn.0040fc40
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
sub eax, ecx
add eax, 0xfffffffe
mov ecx, eax
neg eax
sar eax, 0x1f
mov edx, dword [esp + 0x48]
and eax, edx
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
inc ebp
mov esi, dword [esp + 0x8c]
add eax, esi
mov esi, dword [edx]
cmp ebx, ebp
jae 0x542f3e
mov dword [esp + 0x50], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x560820]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x84]
mov dword [ebx + 8], eax
mov eax, dword [0x6c4f80]
test eax, eax
je 0x542f2b
call fcn.00460f00
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, dword [esp + 0x88]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x50]
mov edx, ebx
mov dword [edx + 4], ebp
lea ebx, [esi + ebp*8 - 4]
mov edi, dword [esp + 0x20]
mov dword [ebx], edi
mov ebx, dword [0x6c4f80]
lea ebp, [esi + ebp*8 - 8]
test ebx, ebx
jne 0x542f62
mov ebx, dword [esp + 0x54]
jmp 0x542d78
call fcn.00460f00
mov ebx, dword [esp + 0x54]
mov dword [edi], ebx
mov esi, dword [ebp]
mov dword [edi + 4], esi
jmp 0x542d78
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf8
ret
inc ebx
cmp ebx, edx
jge 0x542d94
lea ebp, [ecx + ebx]
cmp byte [ebp], 0x20
je 0x542f9c
jmp 0x542d92
inc ecx
cmp ecx, ebp
jge 0x543314
movzx esi, byte [ecx + ebx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x542dbe
xchg esi, eax
cmp al, 0x3a
xchg esi, eax
je 0x542dba
xchg esi, eax
cmp al, 0x22
xchg esi, eax
jne 0x542fb3
jmp 0x542db6
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea eax, [0x560b60]
mov dword [esp + 0xb8], eax
xchg edi, ebx
movzx eax, bl
xchg edi, ebx
lea ecx, [0x693860]
lea eax, [ecx + eax*8]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea eax, [0x593533]
mov dword [esp], eax
mov dword [esp + 4], 0x37
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
lea edx, [0x5695c0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
jne 0x5430d2
mov ecx, dword [esp + 0x6c]
jmp 0x5430dd
call fcn.00460ef0
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5c0478]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
lea eax, [0x5934fc]
mov dword [esp], eax
mov dword [esp + 4], 0x37
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b0a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x70], ecx
lea edx, [0x5695c0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
jne 0x5431bc
mov ecx, dword [esp + 0x70]
jmp 0x5431c7
call fcn.00460ef0
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5c0478]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
lea eax, [0x560b60]
mov dword [esp + 0xc8], eax
xchg esi, ebx
movzx eax, bl
xchg esi, ebx
lea ecx, [0x693860]
lea eax, [ecx + eax*8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
lea eax, [0x592e9e]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
lea edx, [0x5695c0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
jne 0x5432e0
mov ecx, dword [esp + 0x74]
jmp 0x5432eb
call fcn.00460ef0
mov ecx, dword [esp + 0x74]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5c0478]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x59391b]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b0a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
lea edx, [0x5695c0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
jne 0x5433ca
mov ecx, dword [esp + 0x78]
jmp 0x5433d5
call fcn.00460ef0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5c0478]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
inc edi
mov ebp, dword [esp + 0x50]
cmp edi, edx
jge 0x5436c1
jae 0x5437b2
movzx ebp, byte [edi + esi]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x542e1b
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x543431
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5433fe
inc edi
jmp 0x5433fe
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xfc]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
lea eax, [0x5920d4]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
lea edx, [0x5695c0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
jne 0x543521
mov ecx, dword [esp + 0x68]
jmp 0x54352c
call fcn.00460ef0
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5c0478]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.004610e8
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.00409580
mov ecx, dword [esp + 8]
lea edx, [0x560820]
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.00409580
mov ecx, dword [esp + 8]
lea edx, [0x560820]
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x5435db
mov ecx, dword [ecx + 4]
mov dword [esp + 0xe8], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x592102]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.004b0a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x60], ecx
lea edx, [0x5695c0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
jne 0x54368d
mov ecx, dword [esp + 0x60]
jmp 0x543698
call fcn.00460ef0
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5c0478]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409580
mov eax, dword [esp + 8]
lea ecx, [0x560820]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
lea eax, [0x5931a3]
mov dword [esp], eax
mov dword [esp + 4], 0x35
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b0a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
lea edx, [0x5695c0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
jne 0x543777
mov ecx, dword [esp + 0x64]
jmp 0x543782
call fcn.00460ef0
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5c0478]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov ecx, ebp
call fcn.00460f80
mov eax, edi
mov ecx, edx
call fcn.00460f60
mov eax, esi
mov ecx, ebp
call fcn.00460f60
mov eax, ecx
mov ecx, ebp
call fcn.00460f60
mov eax, ebx
mov ecx, edx
call fcn.00460fc0
nop
call fcn.0045faf0
jmp fcn.00542d30