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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x535b75
sub esp, 0xf0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x535b5b
call fcn.0047dac0
lea edi, [esp + 0xdc]
mov esi, esp
call fcn.0044cf6e
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp + 8], edx
lea edi, [esp + 0xc]
lea esi, [esp + 0xdc]
call fcn.0044cf6e
call fcn.005338a0
lea esi, [esp + 0x20]
lea edi, [esp + 0xa0]
call fcn.0044cf6e
lea edi, [esp + 0x8c]
lea esi, [esp + 0xa0]
call fcn.0044cf6e
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x535b44
shl edx, 1
mov ecx, eax
shr eax, 0x1f
or eax, edx
mov edx, ecx
shl ecx, 1
shr ecx, 0x1f
mov ebx, eax
shl eax, 1
or eax, ecx
mov ecx, eax
add eax, 0xd7b17f80
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
test eax, eax
sete cl
test ebx, ebx
sete bl
and ebx, ecx
test bl, bl
je 0x535b3d
test edx, 0x3fffffff
sete cl
test cl, cl
je 0x535a32
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x5359a0
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [ecx + 0x1c]
lea ebx, [0x7c0da0]
mov dword [esp + 4], ebx
lea ebp, [0xb9291c]
mov dword [esp + 8], ebp
mov dword [esp], eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x7849e0]
cmp ecx, edx
jne 0x535999
test eax, eax
jne 0x5358d4
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xf4]
mov ebx, dword [edx + 0x38]
test ebx, ebx
je 0x5358c9
mov ebp, dword [edx + 0x20]
mov esi, dword [edx + 0x1c]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ebp
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x8337f5]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x104]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x20], esi
call fcn.00534160
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
test ecx, ecx
je 0x5355b8
mov dword [esp + 0x80], eax
mov dword [esp + 0x58], ecx
lea eax, [0x7fc020]
mov dword [esp], eax
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 4
mov eax, dword [0xb92b90]
test eax, eax
jne 0x5355a8
lea ecx, [0x8337f5]
mov dword [edi], ecx
mov ecx, dword [esp + 0x104]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x53558c
mov ecx, dword [esp + 0x100]
mov dword [edi + 8], ecx
mov dword [edi + 0x10], 0
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x535575
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x535561
mov dword [edi + 0x1c], 0
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x20], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x535548
mov eax, dword [esp + 0x80]
mov dword [edi + 0x24], eax
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
lea eax, [0x8b2f10]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edi
nop
call fcn.00427060
add esp, 0xf0
ret
lea ecx, [edi + 0x24]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x80]
call fcn.0044c990
mov edi, edx
jmp 0x535511
lea ecx, [edi + 0x1c]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.0044c990
mov edi, edx
jmp 0x5354f6
lea ecx, [edi + 0x14]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.0044c990
mov edi, edx
jmp 0x5354de
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x100]
call fcn.0044c990
mov edi, edx
jmp 0x5354c2
lea eax, [0x8337f5]
call fcn.0044c990
jmp 0x5354a0
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x78], ebp
lea eax, [0x7ec8c0]
mov dword [esp], eax
call fcn.00409c40
mov eax, dword [0xb92b90]
mov edi, dword [esp + 4]
mov dword [esp + 0x70], edi
test eax, eax
jne 0x5358a7
mov esi, dword [esp + 0xf4]
call fcn.0044cef6
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x70]
mov dword [edx + 0x48], ecx
mov ebx, dword [0xb92b90]
test ebx, ebx
jne 0x535891
mov ebx, dword [esp + 0x100]
mov dword [edx + 0x44], ebx
mov ebp, dword [esp + 0x10c]
mov dword [edx + 0x50], ebp
mov ebp, dword [0xb92b90]
test ebp, ebp
jne 0x53587d
mov eax, dword [esp + 0x108]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0xf4]
movzx ebp, byte [eax + 0x24]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x535669
cmp ecx, 3
jne 0x535669
movzx ecx, word [ebx]
cmp cx, 0x6374
jne 0x535669
movzx ecx, byte [ebx + 2]
cmp cl, 0x70
je 0x535828
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x88], ecx
xor ecx, ecx
test ebx, ebx
jle 0x5357e8
mov dword [esp], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
call fcn.00535b80
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
test ecx, ecx
jne 0x5357b7
lea eax, [0x8b6b40]
cmp eax, ebx
jne 0x5357ab
mov eax, edx
jne 0x53571f
mov ecx, dword [esp + 0xf4]
mov ebp, dword [ecx + 0x34]
mov esi, dword [ecx + 0x30]
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
test esi, esi
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, edi
test ebp, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x535750
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
nop
call fcn.00427060
add esp, 0xf0
ret
mov dword [esp + 0x64], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x5c], ebx
mov eax, dword [edx]
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.0054be00
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0054e6d0
mov edx, dword [0xb7842c]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x5c]
jmp 0x53571f
mov eax, edx
mov edx, 0
jmp 0x5356eb
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
nop
call fcn.00427060
add esp, 0xf0
ret
mov dword [esp], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
call fcn.005360e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x5356d3
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
lea eax, [0x859390]
mov dword [esp + 0xc], eax
call fcn.00541390
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xf4]
jmp 0x535684
lea edi, [edx + 0x4c]
mov eax, dword [esp + 0x108]
call fcn.0044c990
jmp 0x53563c
lea edi, [edx + 0x44]
mov eax, dword [esp + 0x100]
call fcn.0044c990
mov ebx, eax
jmp 0x53561a
lea eax, [0x812900]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0xf4]
mov dword [esp + 8], eax
call fcn.0040f640
jmp 0x5355f4
mov ebx, dword [0xb78418]
jmp 0x5353ee
mov dword [esp + 0x60], eax
lea eax, [0x7f4920]
mov dword [esp], eax
call fcn.00409c40
mov edi, dword [esp + 4]
mov eax, dword [0xb92b90]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
test eax, eax
jne 0x53597b
mov dword [edi], ecx
mov dword [edi + 4], edx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x53595d
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
lea edx, [0x7c0da0]
mov dword [esp + 8], edx
lea edx, [0xb9291c]
mov dword [esp + 0xc], edx
lea edx, [0x7849e0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
call fcn.00531870
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x5353dc
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.0044c990
lea edi, [edx + 0xc]
xor eax, eax
call fcn.0044c990
mov edi, edx
jmp 0x53591a
mov eax, ecx
call fcn.0044c990
lea ecx, [edi + 4]
mov eax, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044c990
mov edi, ebx
jmp 0x535902
xor eax, eax
jmp 0x5353cc
mov dword [esp + 0x7c], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00530a00
mov eax, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x44], edx
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004268a0
test eax, eax
jne 0x535a25
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
mov dword [esp], 0x10
lea edx, [0x859358]
mov dword [esp + 4], edx
call fcn.0042f510
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
jmp 0x535392
nop
call fcn.00427060
add esp, 0xf0
ret
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.0044ca8b
mov ecx, dword [esp + 0xf8]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
call edx
lea esi, [esp + 4]
lea edi, [esp + 0xc8]
call fcn.0044cf6e
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x43], cl
lea edi, [esp + 0xb4]
lea esi, [esp + 0xc8]
call fcn.0044cf6e
movzx ecx, byte [esp + 0x43]
test cl, cl
jne 0x535afd
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
lea edi, [esp + 8]
lea esi, [esp + 0xa0]
call fcn.0044cf6e
call fcn.00531190
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], edx
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004268a0
test eax, eax
jne 0x535af0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x6c]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x535380
nop
call fcn.00427060
add esp, 0xf0
ret
mov edi, esp
lea esi, [esp + 0xa0]
call fcn.0044cf6e
lea edi, [esp + 0x14]
lea esi, [esp + 0xb4]
call fcn.0044cf6e
call fcn.0047b550
movzx eax, byte [esp + 0x28]
test al, al
jne 0x535a8b
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
jmp 0x535ae5
xor ecx, ecx
jmp 0x53536a
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x98]
mov edx, eax
mov eax, ecx
jmp 0x53534d
lea eax, [0x7b48a0]
mov dword [esp], eax
lea eax, [0x8b1310]
mov dword [esp + 4], eax
call fcn.004273c0
ud2
call fcn.0044b230
jmp fcn.00535240