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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x5d7871
sub esp, 0xc8
mov eax, 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov byte [esp + 0x37], 0
mov byte [esp + 0xd4], 0
mov eax, dword [esp + 0xcc]
movzx ecx, byte [eax + 0x68]
test cl, cl
jne 0x5d7362
mov dword [esp], eax
call fcn.0046f740
lea eax, [0x656668]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc0], eax
mov byte [esp + 0x37], 1
mov byte [eax + 8], 0
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x5d733f
lea edi, [esp + 0x68]
mov edx, eax
xor eax, eax
call fcn.0045e87b
mov ecx, dword [edx + 0x7c]
test ecx, ecx
setg cl
sete bl
mov ebp, dword [edx + 0x78]
test ebp, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, ebx
or ecx, ebp
test cl, cl
je 0x5d72f2
call fcn.004a00f0
lea edi, [esp + 0x90]
lea esi, [esp]
call fcn.0045ed5e
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x44], ecx
xor edx, edx
sub edx, ecx
mov ebx, dword [eax + 0x7c]
lea edi, [esp]
lea esi, [esp + 0x90]
call fcn.0045ed5e
xor ecx, ecx
mov ebp, dword [esp + 0x44]
sub ecx, ebp
mov ecx, 0
sbb ecx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
call fcn.0049f4d0
lea edi, [esp + 0x68]
lea esi, [esp + 0x1c]
call fcn.0045ed5e
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 0xc]
lea ecx, [0x60eb20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
lea ebx, [eax + 0x18]
mov dword [esp + 0x50], ebx
mov dword [esp + 8], ebx
call fcn.0040c680
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
movzx edx, byte [esp + 0x10]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
test dl, dl
je 0x5d7371
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ecx
xor edx, edx
xor ebp, ebp
jmp 0x5d7502
mov byte [esp + 0xd4], 0
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.0046fae0
add esp, 0xc8
ret
mov byte [esp + 0xd4], 0
add esp, 0xc8
ret
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x5d73b0
call fcn.0040c0e0
mov eax, dword [0x816df0]
mov ecx, dword [esp]
test eax, eax
jne 0x5d739d
mov eax, dword [esp + 0xcc]
mov dword [eax + 0x10], ecx
jmp 0x5d73b0
mov edx, dword [esp + 0xcc]
lea edi, [edx + 0x10]
mov eax, ecx
call fcn.0045e5d0
mov eax, edx
mov ecx, dword [eax + 0x10]
lea edx, [0x60eba0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040c4b0
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xa4]
call fcn.0045ed4a
lea eax, [esp + 0xa4]
mov dword [esp], eax
call fcn.005d8260
nop
mov eax, dword [esp + 0xb8]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xbc]
cmp ebx, ecx
jae 0x5d7441
lea ebp, [0x61f600]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004476d0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], edx
lea ecx, [eax + 1]
mov dword [esp + 0xb8], ecx
mov ecx, dword [0x816df0]
lea edi, [edx + eax*4]
test ecx, ecx
jne 0x5d7464
mov ecx, dword [esp + 0xd0]
mov dword [edx + eax*4], ecx
jmp 0x5d7470
mov eax, dword [esp + 0xd0]
call fcn.0045e5d0
mov eax, dword [esp + 0xcc]
mov eax, dword [eax + 0x10]
lea ecx, [0x60eba0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0040ca00
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x816df0]
test eax, eax
jne 0x5d74b2
lea esi, [esp + 0xa4]
call fcn.0045ed4a
jmp 0x5d74cf
lea eax, [0x620f80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.00410bf0
mov byte [esp + 0xd4], 0
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.0046fae0
add esp, 0xc8
ret
mov ebx, dword [esp + 0x4c]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xchg ebp, eax
mov byte [esp + 0x35], al
xchg ebp, eax
mov byte [esp + 0x34], dl
test ebx, ebx
jle 0x5d780d
mov dword [esp + 0x38], ebx
test dl, dl
jne 0x5d77b6
mov eax, dword [ecx + ebx*4 - 4]
lea edi, [esp + 0x54]
lea esi, [esp + 0x68]
call fcn.0045ed5e
mov ecx, dword [esp + 0x54]
mov esi, edx
mov edx, dword [esp + 0x58]
test edx, 0x80000000
je 0x5d757e
shl edx, 1
mov edi, ecx
shr ecx, 0x1f
or edx, ecx
mov dword [esp + 0x44], edx
mov ecx, edi
shl edi, 1
shl edx, 1
shr edi, 0x1f
or edx, edi
mov edi, edx
add edx, 0xd7b17f80
mov ebp, dword [esp + 0x44]
shr ebp, 0x1f
add edi, 0xd7b17f80
adc ebp, 0xd
mov edi, ebx
mov ebx, ebp
movzx ebp, byte [esp + 0x35]
jmp 0x5d7588
mov edx, dword [esp + 0x5c]
mov edi, ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x48], eax
test ebx, ebx
sete bl
test edx, edx
sete dl
and ebx, edx
test bl, bl
je 0x5d75a8
test ecx, 0x3fffffff
jne 0x5d75a8
xor ecx, ecx
jmp 0x5d7621
test byte [eax], al
lea esi, [eax + 0x64]
lea edi, [esp + 0x7c]
call fcn.0045ed5e
lea edi, [esp]
lea esi, [esp + 0x7c]
call fcn.0045ed5e
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
call fcn.004a1410
lea edi, [esp + 0x90]
lea esi, [esp + 0x1c]
call fcn.0045ed5e
lea edi, [esp]
lea esi, [esp + 0x90]
call fcn.0045ed5e
lea edi, [esp + 0x14]
lea esi, [esp + 0x68]
call fcn.0045ed5e
call fcn.0049dfb0
movzx eax, byte [esp + 0x28]
movzx ebp, byte [esp + 0x35]
movzx esi, byte [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ecx, eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x33], cl
test cl, cl
je 0x5d7647
mov dword [esp], 4
lea ecx, [0x6563dc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043e530
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005dc000
mov eax, dword [esp + 0x38]
lea ecx, [eax - 1]
movzx edx, byte [esp + 4]
test dl, dl
jne 0x5d7668
movzx edx, byte [esp + 0x33]
test dl, dl
je 0x5d7677
movzx edx, byte [esp + 0x34]
movzx eax, byte [esp + 0x35]
jmp 0x5d74f2
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.005d8050
movzx eax, byte [esp + 0x10]
test al, al
je 0x5d77a8
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
test edx, edx
je 0x5d76c2
mov ecx, dword [esp + 0x38]
jmp 0x5d77ac
mov byte [esp + 0x36], al
nop
mov eax, dword [esp + 0xcc]
mov edx, dword [eax + 0x18]
lea ebp, [0x60e7a0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040e200
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x5d779d
mov ecx, dword [esp + 0xcc]
mov edx, dword [ecx + 0x14]
cmp dword [eax + 8], edx
jne 0x5d7780
mov edi, dword [eax + 4]
test byte [edi], al
nop
mov ebx, dword [0x816df0]
mov ebp, dword [eax]
test ebx, ebx
jne 0x5d771f
mov dword [edi], ebp
jmp 0x5d772a
mov ebx, eax
mov eax, ebp
call fcn.0045e5d0
mov eax, ebx
mov ebx, dword [eax]
test byte [ebx], al
mov ebp, dword [0x816df0]
mov esi, dword [eax + 4]
test ebp, ebp
jne 0x5d7754
mov dword [ebx + 4], esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x5d777d
lea edi, [ebx + 4]
mov ebx, eax
mov eax, esi
call fcn.0045e5d0
mov edi, ebx
xor eax, eax
call fcn.0045e5d0
lea ebp, [ebx + 4]
mov edi, ebp
call fcn.0045e5d0
lea edi, [ebx + 8]
xor eax, eax
call fcn.0045e5d0
dec dword [edx + 0x14]
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + 0x18]
lea ebx, [0x60e7a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0040e930
movzx eax, byte [esp + 0x36]
mov ecx, dword [esp + 0x40]
jmp 0x5d77ac
mov ecx, dword [esp + 0x38]
mov edx, 1
jmp 0x5d74f2
test ebx, ebx
jle 0x5d780d
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0xc]
lea edx, [0x60eb20]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040ca00
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0x816df0]
test eax, eax
jne 0x5d7802
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
jmp 0x5d7831
mov eax, dword [esp + 0x4c]
call fcn.0045e5d0
jmp 0x5d7831
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0xc]
lea edx, [0x60eb20]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040cee0
movzx eax, byte [esp + 0x34]
test al, al
je 0x5d7371
movzx eax, byte [esp + 0x35]
mov byte [esp + 0xd4], al
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.0046fae0
add esp, 0xc8
ret
call fcn.0045d190
jmp fcn.005d71d0