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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x53e14c
sub esp, 0xc0
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x53dba8
inc ebp
mov esi, ecx
mov ecx, dword [esp + 0xc8]
cmp ebp, edx
jge 0x53dbce
movzx ecx, byte [ebx + ebp]
cmp cl, 1
jne 0x53dbbc
mov ecx, 1
jmp 0x53db9e
cmp cl, 0x40
jne 0x53dbca
mov ecx, esi
mov edi, 1
jmp 0x53db9e
mov ecx, esi
jmp 0x53db9e
mov dword [esp + 0x78], eax
mov edx, dword [eax + 0x24]
mov edx, dword [edx + 0x20]
test edx, edx
jne 0x53e027
xchg edi, eax
mov byte [esp + 0x2f], al
xchg edi, eax
xchg esi, eax
mov byte [esp + 0x2e], al
xchg esi, eax
lea eax, [0x5ffb80]
mov dword [esp], eax
call fcn.00409a30
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 4]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
test ebx, ebx
jle 0x53de07
mov dword [esp + 0x8c], edx
mov dword [esp + 0x58], ebx
movzx ebp, byte [esp + 0x2e]
movzx esi, byte [esp + 0x2f]
xor edi, edi
jmp 0x53dd9b
mov ebx, dword [esp + 0x80]
lea esi, [ebx + 0xc]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x80], esi
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 4]
mov ebp, dword [edx + 0x38]
mov edi, dword [edx + 0x34]
mov edx, dword [edx + 0x30]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
call fcn.00402140
movzx eax, byte [esp + 0x18]
test al, al
jne 0x53de3d
mov eax, dword [esp + 0x4c]
inc eax
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jl 0x53dc2f
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jge 0x53dd59
mov edx, dword [esp + 0x84]
add edx, 0xc
movzx ebx, byte [esp + 0x2e]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x8c]
movzx edi, byte [esp + 0x2f]
mov ebx, dword [esp + 0x58]
movzx ebp, byte [esp + 0x2e]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0xc8]
mov ecx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x84], ecx
mov eax, dword [ecx + 8]
mov dword [esp + 0x48], eax
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov edx, dword [edx + 0x2c]
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x53de9d
test edx, edx
je 0x53de9d
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53dd23
mov ecx, dword [edx + 0x4c]
cmp ecx, 1
je 0x53de93
movzx ecx, byte [esp + 0x2f]
test cl, cl
je 0x53dd59
mov ebx, dword [edx + 0x4c]
cmp ebx, 3
jne 0x53dd59
mov ebx, dword [edi + 0x2c]
mov esi, dword [edi + 0x28]
test ebx, ebx
je 0x53de68
mov dword [esp + 0x6c], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x53dc41
mov eax, dword [esp + 0x40]
inc eax
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jge 0x53de07
mov edx, dword [esp + 0x88]
add edx, 0x30
movzx ebx, byte [esp + 0x2e]
mov ebp, dword [esp + 0x8c]
movzx esi, byte [esp + 0x2f]
mov ebx, ecx
movzx ebp, byte [esp + 0x2e]
mov ecx, edx
mov edi, eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x40], edi
lea edi, [esp + 0x90]
mov esi, ecx
call fcn.0044bc18
mov ecx, dword [0x7db370]
test ecx, ecx
jne 0x53dff1
mov edi, edx
lea esi, [esp + 0x90]
call fcn.0044bc18
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53dfdf
mov ecx, dword [edx]
mov esi, eax
mov eax, dword [edx + 4]
test eax, eax
jle 0x53dd59
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x64]
jmp 0x53dce7
lea eax, [0x5ffb80]
mov dword [esp], eax
call fcn.00409a30
mov eax, dword [esp + 4]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xc0
ret
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xc0
ret
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xc0
ret
movzx ecx, byte [esp + 0x2f]
jmp 0x53dd34
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call fcn.00524770
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jne 0x53dee0
movzx ebp, byte [esp + 0x2e]
xchg ebp, eax
test al, al
xchg ebp, eax
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0xc8]
mov edx, eax
mov eax, dword [esp + 0x3c]
jmp 0x53dd15
mov dword [esp + 0x44], ecx
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.00537450
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00457e00
mov eax, dword [esp + 8]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x44]
mov edx, dword [edx + 0x10]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x6289f7]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x29
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x10], edx
lea edx, [0x61c1f4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.0043aea0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
lea edx, [0x5ea220]
mov dword [esp], edx
call fcn.00409a30
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x30]
mov dword [edi + 4], eax
mov eax, dword [0x7db370]
test eax, eax
jne 0x53dfd4
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [esp + 0xcc], 0
lea eax, [0x65f350]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edi
add esp, 0xc0
ret
mov eax, dword [esp + 0x70]
call fcn.0044b680
jmp 0x53dfae
movzx ecx, byte [esp + 0x2f]
test cl, cl
jne 0x53ddda
jmp 0x53dd59
lea eax, [0x5ffb80]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x58]
movzx ebp, byte [esp + 0x2e]
jmp 0x53ddd0
movzx edx, byte [ecx + 0xc]
test dl, dl
je 0x53e0f1
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x1c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x7c], ebp
lea eax, [0x5ef5a0]
mov dword [esp], eax
call fcn.00409a30
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
mov edi, dword [esp + 4]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov ecx, dword [0x7db370]
test ecx, ecx
jne 0x53e0ea
mov dword [edi], eax
mov ecx, dword [esp + 0x34]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov dword [edi + 0x14], ecx
mov ecx, dword [0x7db370]
test ecx, ecx
jne 0x53e0d4
mov eax, dword [esp + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
mov dword [esp], edi
mov eax, dword [edx]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ecx
add esp, 0xc0
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x7c]
call fcn.0044b680
mov edi, edx
jmp 0x53e09b
call fcn.0044b680
jmp 0x53e07c
mov edx, dword [0x7c4968]
mov ebx, dword [0x7c4970]
mov ebp, dword [0x7c496c]
xchg edi, eax
test al, al
xchg edi, eax
je 0x53e123
xchg esi, eax
test al, al
xchg esi, eax
je 0x53e11a
mov esi, edx
mov edx, ebp
mov ebp, esi
jmp 0x53e03c
add ebp, 0xfffffffc
cmp ebp, ebx
jbe 0x53e10f
jmp 0x53e13e
cmp ebp, 3
jb 0x53e145
add ebx, 0xfffffffd
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 6
add edx, ebx
add ebp, 0xfffffffd
mov ebx, edi
jmp 0x53e109
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.00449f20
jmp fcn.0053db60