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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x536d8c
sub esp, 0xfc
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x1a0]
test ecx, ecx
jg 0x536d6b
mov ecx, dword [esp + 0x10c]
test ecx, ecx
jle 0x5364bf
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + ecx*4 - 4]
mov ebp, dword [ebx + 0x34]
mov ebx, dword [ebx + 0x30]
mov esi, dword [eax + 0x24]
cmp dword [eax + 0x28], ebp
je 0x5364a2
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 5
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6cb410]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004031b0
movzx eax, byte [esp + 0xc]
test al, al
je 0x536d5f
mov eax, dword [esp + 0x114]
test byte [eax], al
lea esi, [eax + 0x10]
lea edi, [esp + 0x98]
call fcn.0045d09e
lea edi, [esp + 0x84]
lea esi, [esp + 0x98]
call fcn.0045d09e
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
test edx, 0x80000000
je 0x536d48
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
mov edx, ebx
shl ebx, 1
mov ebp, ecx
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr ebp, 0x1f
add ebx, 0xd7b17f80
adc ebp, 0xd
test ebp, ebp
sete bl
test ecx, ecx
sete cl
and ebx, ecx
test bl, bl
je 0x53654a
test edx, 0x3fffffff
je 0x536d30
mov eax, dword [esp + 0x100]
lea esi, [eax + 0x158]
mov dword [esp + 0x50], esi
lea edi, [esp + 0xe8]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045d09e
lea edi, [esp + 0x14]
mov dword [esp + 0x4c], edi
lea esi, [esp + 0xe8]
call fcn.0045d09e
call fcn.0049dcf0
movzx eax, byte [esp + 0x28]
test al, al
jne 0x536ba0
mov eax, dword [esp + 0x100]
lea esi, [eax + 0x16c]
mov dword [esp + 0x50], esi
lea edi, [esp + 0xc0]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045d09e
mov edi, dword [esp + 0x4c]
lea esi, [esp + 0xc0]
call fcn.0045d09e
call fcn.0049dbb0
movzx eax, byte [esp + 0x28]
test al, al
jne 0x536a10
mov eax, dword [esp + 0x114]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x5365fb
mov eax, 0x3d090
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x104]
cmp ecx, 1
jne 0x5369e9
mov edx, dword [esp + 0x10c]
test edx, edx
je 0x5369ad
mov ebx, dword [esp + 0x108]
mov ebx, dword [ebx]
cmp ecx, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], ebx
jne 0x53699d
mov eax, dword [0x61c5b0]
mov ecx, dword [0x61c5b4]
mov edx, dword [0x61c5b8]
mov ebx, dword [esp + 0x100]
mov ebp, dword [ebx + 0x184]
mov esi, dword [ebx + 0x188]
mov edi, dword [ebx + 0x18c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.0053cc90
movzx eax, byte [esp + 0x18]
test al, al
jne 0x5368fc
jne 0x5368ae
xor eax, eax
test al, al
jne 0x536809
mov eax, dword [esp + 0x104]
cmp eax, 1
jne 0x5367fd
mov eax, dword [esp + 0x100]
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x536788
movzx ecx, byte [eax + 0x1c1]
test cl, cl
je 0x536788
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x5366f6
mov ecx, dword [eax + 0x1c4]
test ecx, ecx
jl 0x5366f6
mov edx, dword [esp + 0x10c]
dec edx
cmp ecx, edx
jl 0x536713
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
add esp, 0xfc
ret
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 3
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6cb410]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6cb410]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov eax, dword [esp + 0x100]
jmp 0x5366d5
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00539080
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea ebx, [0x53d120]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x58], ebx
lea ebp, [esp + 0x34]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x60], ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea eax, [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.0053a650
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x536899
mov eax, dword [esp + 0x104]
cmp eax, 1
jmp 0x5366aa
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov eax, dword [0x61c5c0]
mov ecx, dword [0x61c5c4]
mov edx, dword [0x61c5c8]
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x184]
mov esi, dword [ebx + 0x188]
mov edi, dword [ebx + 0x18c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.0053cc90
movzx eax, byte [esp + 0x18]
jmp 0x536698
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.005379a0
movzx eax, byte [esp + 4]
test al, al
jne 0x536921
movzx eax, byte [esp + 0x2f]
test al, al
jmp 0x536690
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x100]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 6
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6cb410]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
cmp ecx, 2
je 0x53663c
xor eax, eax
jmp 0x536688
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x38
lea ecx, [0x68ae20]
mov dword [eax], ecx
lea ecx, [0x6cadb0]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
add esp, 0xfc
ret
cmp ecx, 2
jne 0x5369fc
mov edx, dword [esp + 0x10c]
test edx, edx
jmp 0x53661c
cmp ecx, 1
mov edx, dword [esp + 0x10c]
mov ebx, 0
jmp 0x53662e
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045d09e
lea eax, [0x681048]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x19
call fcn.00498670
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xac]
mov esi, dword [esp + 0x50]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0xac]
call fcn.0045d09e
lea ecx, [0x681048]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x19
call fcn.00498670
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
call fcn.00409f80
mov eax, dword [esp + 8]
lea ecx, [0x643700]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00409f80
mov eax, dword [esp + 8]
lea ecx, [0x643700]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x682209]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ae800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov edx, dword [esp + 0x100]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
lea eax, [0x6cb410]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045d09e
lea eax, [0x681048]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x19
call fcn.00498670
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xd4]
mov esi, dword [esp + 0x50]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0xd4]
call fcn.0045d09e
lea ecx, [0x681048]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x19
call fcn.00498670
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
call fcn.00409f80
mov eax, dword [esp + 8]
lea ecx, [0x643700]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00409f80
mov eax, dword [esp + 8]
lea ecx, [0x643700]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x682890]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ae800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov edx, dword [esp + 0x100]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
lea eax, [0x6cb410]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
call fcn.0049f7d0
lea edi, [esp + 0x98]
mov esi, esp
call fcn.0045d09e
jmp 0x53654a
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
mov edx, ecx
mov ecx, ebx
jmp 0x53652e
mov eax, dword [esp + 0x100]
jmp 0x53642d
lea eax, [0x6cb490]
mov dword [esp + 0x118], eax
lea eax, [0x7e32f0]
mov dword [esp + 0x11c], eax
add esp, 0xfc
ret
call fcn.0045b380
jmp fcn.005363d0