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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44735f
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x459210]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov eax, dword [0x459210]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x10]
mov edi, edx
mov esi, ecx
mov dword [esp + 0x44], eax
mov eax, edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
call fcn.00575a8a
mov eax, dword [esi + 0x20]
mov dword [edi + 0x138], eax
mov eax, dword [esi + 0x24]
mov dword [edi + 0x13c], eax
mov cl, byte [esi + 0x2e]
lea eax, [edi + 0x130]
mov byte [eax], cl
cmp byte [eax], 0
mov cl, byte [esi + 0x2f]
mov byte [edi + 0x131], cl
je 0x573a57
mov dword [esp + 0x10], 0xe000000e
push 0x452d08
lea eax, [esp + 0x14]
push eax
call fcn.00584cda
mov ebx, dword [esi + 0x30]
lea edx, [esi + 0x34]
mov eax, dword [edx]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x44]
push 0x461240
push 0x14
or ecx, 0xffffffff
mov dword [esp + 0x20], eax
call dword [fcn.0045da14]
not eax
cmp eax, ebx
je 0x573aa8
mov dword [esp + 0x10], 0xe0000008
push 0x452d08
lea eax, [esp + 0x14]
jmp 0x573a51
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov ebx, dword [esp + 0x24]
add eax, 0x20
push 0
mov dword [edi + 0x140], eax
pop ecx
adc edx, ecx
mov eax, ebx
or eax, dword [esp + 0x28]
mov dword [edi + 0x144], edx
jne 0x573c10
mov ebx, dword [edi + 0x140]
mov eax, edx
mov dword [esp + 0x78], eax
mov dword [edi + 0x10c], eax
mov eax, esi
mov dword [edi + 0x108], ebx
mov dword [esp + 0x1c], ecx
call fcn.005644c7
mov edx, dword [eax]
push 0
push 0
push dword [esp + 0x80]
mov ecx, eax
push ebx
call dword [edx + 0x14]
test eax, eax
je 0x573b13
xor eax, eax
jmp 0x574007
lea eax, [esp + 0x1c]
push eax
mov eax, esi
call fcn.005644c7
push 2
pop edi
mov ebx, eax
call fcn.0057d092
test eax, eax
pop ecx
jne 0x573b0c
cmp word [esp + 0x1c], ax
jbe 0x573b0c
lea eax, [esp + 0x48]
call fcn.0056d139
and dword [esp + 0xc0], 0
movzx ecx, word [esp + 0x1c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x18], eax
ja 0x573b5c
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x18]
add ebx, 2
push ebx
lea edi, [esp + 0x4c]
call fcn.0056d4d2
mov eax, edi
call fcn.0056d16c
push ebx
push 0
push eax
mov dword [esp + 0x20], eax
call fcn.005832bf
add esp, 0xc
push dword [esp + 0x14]
mov eax, esi
call fcn.005644c7
mov edi, dword [esp + 0x1c]
mov ebx, eax
call fcn.0057d092
test eax, eax
pop ecx
jne 0x573c02
mov esi, dword [esp + 0x20]
push dword [esp + 0x14]
lea ecx, [esp + 0x78]
mov byte [esi + 0x110], 1
call fcn.0054fed9
lea eax, [esp + 0x74]
lea ecx, [esp + 0x94]
mov byte [esp + 0xc0], 1
call fcn.0055cfcf
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 2
call fcn.0054f1c1
push ebx
push 1
lea esi, [esp + 0x9c]
call fcn.0054f155
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.0054ff8d
lea ecx, [esp + 0x48]
call fcn.0056d14b
jmp 0x573b0c
cmp dword [esp + 0x28], ecx
ja 0x573c1b
cmp ebx, 0xffffffff
jbe 0x573c23
xor eax, eax
inc eax
jmp 0x574007
cmp dword [esp + 0x78], ecx
jg 0x573c31
jl 0x573c1b
cmp dword [esp + 0x74], ecx
jb 0x573c1b
mov eax, esi
call fcn.005644c7
mov edx, dword [eax]
push 0
push 1
push dword [esp + 0x80]
mov ecx, eax
push dword [esp + 0x80]
call dword [edx + 0x14]
test eax, eax
jne 0x574007
lea eax, [esp + 0x48]
call fcn.0056d139
push ebx
lea edi, [esp + 0x4c]
mov dword [esp + 0xc4], 3
call fcn.0056d4d2
mov eax, edi
call fcn.0056d16c
mov dword [esp + 0x14], eax
push eax
mov eax, esi
call fcn.005644c7
mov edi, ebx
mov ebx, eax
call fcn.0057d092
test eax, eax
pop ecx
je 0x573c9f
mov edi, eax
jmp 0x573ffc
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
add ecx, 0x20
mov edx, eax
adc edx, 0
add dword [esi + 0x48], ecx
mov ecx, dword [esp + 0x24]
adc dword [esi + 0x4c], edx
add ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x14]
adc eax, dword [esp + 0x78]
add ecx, 0x20
adc eax, 0
mov dword [ebx + 0x1b4], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x1b0], ecx
call fcn.0055e0cf
cmp eax, dword [esp + 0x18]
je 0x573d00
mov dword [esp + 0x10], 0xe0000006
push 0x452d08
lea eax, [esp + 0x14]
jmp 0x573a51
mov edi, dword [ebx + 0x1b0]
add edi, dword [esi + 0x20]
mov eax, dword [ebx + 0x1b4]
adc eax, dword [esi + 0x24]
and dword [esp + 0x2c], 0
mov dword [esp + 0x78], eax
mov eax, esi
mov dword [esp + 0x74], edi
call fcn.005644c7
mov edx, dword [eax]
push 0
push 0
push dword [esp + 0x80]
mov ecx, eax
push edi
call dword [edx + 0x14]
test eax, eax
jne 0x573d5c
lea eax, [esp + 0x2c]
push eax
mov eax, esi
call fcn.005644c7
push 2
pop edi
mov ebx, eax
call fcn.0057d092
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x78]
pop ecx
test eax, eax
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x108], edi
mov dword [ebx + 0x10c], ecx
jne 0x573e60
cmp word [esp + 0x2c], ax
jbe 0x573e60
lea eax, [esp + 0x74]
call fcn.0056d139
mov byte [esp + 0xc0], 4
movzx ecx, word [esp + 0x2c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x14], eax
ja 0x573da6
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x14]
add ebx, 2
push ebx
lea edi, [esp + 0x78]
call fcn.0056d4d2
mov eax, edi
call fcn.0056d16c
push ebx
push 0
push eax
mov dword [esp + 0x24], eax
call fcn.005832bf
add esp, 0xc
push dword [esp + 0x18]
mov eax, esi
call fcn.005644c7
mov edi, dword [esp + 0x18]
mov ebx, eax
call fcn.0057d092
test eax, eax
pop ecx
jne 0x573e53
mov esi, dword [esp + 0x20]
push dword [esp + 0x18]
lea ecx, [esp + 0x98]
mov byte [esi + 0x110], 1
call fcn.0054fed9
lea eax, [esp + 0x94]
lea ecx, [esp + 0x58]
mov byte [esp + 0xc0], 5
call fcn.0055cfcf
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 6
call fcn.0054f1c1
push ebx
push 1
lea esi, [esp + 0x60]
call fcn.0054f155
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.0054ff8d
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x74]
call fcn.0056d14b
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x78], 0
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x78]
push eax
mov edi, esi
mov byte [esp + 0xc8], 7
call fcn.00571cab
xor edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov eax, esi
mov byte [esp + 0xc0], 8
call fcn.005720dd
cmp eax, 1
jne 0x573ea8
cmp edx, edi
je 0x573fb3
cmp eax, 0x17
jne 0x573eb1
cmp edx, edi
je 0x573ec7
mov dword [esp + 0x10], 0xe000000a
push 0x452d08
lea eax, [esp + 0x14]
jmp 0x573a51
push dword [esp + 0x44]
lea eax, [esp + 0x34]
push dword [esp + 0x44]
lea ecx, [ebx + 0x150]
push eax
push dword [ebx + 0x144]
push dword [ebx + 0x140]
push dword [esp + 0x24]
push esi
call fcn.00572d06
mov ebx, eax
cmp ebx, edi
je 0x573f1f
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.005744bb
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.00571c76
mov edi, ebx
jmp 0x573ffc
cmp dword [esp + 0x34], edi
je 0x573fda
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
sar eax, 4
je 0x573fda
cmp eax, 1
jbe 0x573f55
mov dword [esp + 0x10], 0xe000000a
push 0x452d08
lea eax, [esp + 0x14]
jmp 0x573a51
lea esi, [esp + 0x74]
call fcn.00571c76
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x38]
jbe 0x573f71
call fcn.00583784
cmp esi, dword [esp + 0x38]
jb 0x573f78
call fcn.00583784
mov edi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x78]
push eax
call fcn.00571cab
mov eax, edi
call fcn.005720dd
cmp eax, 1
jne 0x573f97
test edx, edx
je 0x573fad
mov dword [esp + 0x14], 0xe000000a
push 0x452d08
lea eax, [esp + 0x18]
jmp 0x573a51
mov ebx, dword [esp + 0x20]
mov esi, edi
push dword [esp + 0x44]
mov eax, dword [esi + 0x48]
push dword [esp + 0x44]
mov dword [ebx + 0x1a8], eax
mov eax, dword [esi + 0x4c]
push ebx
push dword [esp + 0x1c]
mov dword [ebx + 0x1ac], eax
push esi
call fcn.00573135
mov edi, eax
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.005744bb
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.00571c76
lea ecx, [esp + 0x48]
call fcn.0056d14b
mov eax, edi
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.0058304e
mov esp, ebp
pop ebp
ret 0xc