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

Disassembly:
push 0xffffffffffffffff
push 0x649e2e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push ebp
mov ebp, dword [esp + 0xc8]
push esi
mov ebx, ecx
push edi
mov edi, 0x64f55f
mov esi, ebp
mov ecx, 1
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp + 0x10], ebx
jne 0x59d869
mov esi, dword [esp + 0xdc]
mov edi, 0x64f55f
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x59de29
fild dword [0x68c0c4]
fdivr dword [0x64fe64]
fld dword [esp + 0xc4]
fmul st(1)
call fcn.0061672c
fmul dword [esp + 0xcc]
mov esi, eax
call fcn.0061672c
push pe_nt_image_headers32
mov edi, eax
call fcn.00614c96
push pe_nt_image_headers32
mov dword [esp + 0x24], eax
call fcn.00614c96
push pe_nt_image_headers32
mov dword [esp + 0x2c], eax
call fcn.00614c96
push pe_nt_image_headers32
mov dword [esp + 0x28], eax
call fcn.00614c96
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xe8]
add esp, 0x10
sub ecx, eax
jmp 0x59d8e0
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x59d8e0
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x20]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x59d8f7
mov edx, dword [esp + 0x18]
mov eax, ebp
sub edx, ebp
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x59d910
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x14]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x59d927
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x28], ecx
push eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x30], edx
call fcn.0057714f
mov eax, dword [ebx + 0x16ac]
xor ebp, ebp
test eax, eax
jle 0x59d98e
mov edx, dword [ebx + 0x16a8]
mov ecx, edx
mov eax, dword [ecx]
cmp dword [eax + 0x10], esi
jne 0x59d980
cmp dword [eax + 0x14], edi
je 0x59d9bd
mov eax, dword [ebx + 0x16ac]
inc ebp
add ecx, 4
cmp ebp, eax
jl 0x59d974
push 0x54
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0xbc], 0
je 0x59db46
mov ecx, eax
call fcn.005fb1a0
mov ebx, eax
jmp 0x59db48
mov esi, dword [edx + ebp*4]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
add esi, 0x24
cmp ecx, eax
jne 0x59d9e2
test eax, eax
je 0x59d9d5
add eax, eax
jmp 0x59d9da
mov eax, 0x10
push eax
mov ecx, esi
call fcn.00596a90
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [esp + 0x1c]
mov dword [edx + ecx*4], eax
inc dword [esi + 4]
mov ecx, dword [ebx + 0x16a8]
mov esi, dword [ecx + ebp*4]
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x34]
add esi, 0x30
cmp ecx, eax
jne 0x59da1c
test eax, eax
je 0x59da0f
add eax, eax
jmp 0x59da14
mov eax, 0x10
push eax
mov ecx, esi
call fcn.00596a90
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [esp + 0x20]
mov dword [eax + edx*4], ecx
inc dword [esi + 4]
mov edx, dword [ebx + 0x16a8]
mov esi, dword [edx + ebp*4]
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
add esi, 0x3c
cmp ecx, eax
jne 0x59da56
test eax, eax
je 0x59da49
add eax, eax
jmp 0x59da4e
mov eax, 0x10
push eax
mov ecx, esi
call fcn.00596a90
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [esp + 0x18]
mov dword [ecx + eax*4], edx
inc dword [esi + 4]
mov eax, dword [ebx + 0x16a8]
mov esi, dword [eax + ebp*4]
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x4c]
add esi, 0x48
cmp ecx, eax
jne 0x59da90
test eax, eax
je 0x59da83
add eax, eax
jmp 0x59da88
mov eax, 0x10
push eax
mov ecx, esi
call fcn.00596a90
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [esp + 0x14]
mov dword [edx + ecx*4], eax
mov edi, dword [esi + 4]
mov eax, dword [esp + 0x10]
inc edi
mov dword [esi + 4], edi
mov ecx, 0x10
lea esi, [esp + 0x74]
lea edi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x16a8]
mov ebx, dword [ecx + ebp*4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
add ebx, 4
cmp edx, ecx
jne 0x59dae4
test ecx, ecx
lea eax, [ecx + ecx]
jne 0x59dad8
mov eax, 0x10
push eax
mov ecx, ebx
call fcn.0059cc20
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 4]
mov ecx, dword [ebx]
shl edi, 6
add edi, ecx
mov ecx, 0x10
lea esi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 4]
mov edi, dword [eax + 0x1ee4]
lea edx, [edi + 1]
mov dword [eax + 0x1ee4], edx
mov eax, dword [eax + 0x16a8]
mov esi, dword [eax + ebp*4]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x1c]
add esi, 0x18
cmp ecx, eax
jne 0x59db36
test eax, eax
je 0x59db29
add eax, eax
jmp 0x59db2e
mov eax, 0x10
push eax
mov ecx, esi
call fcn.00596a90
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov dword [edx + ecx*4], edi
inc dword [esi + 4]
jmp 0x59de29
xor ebx, ebx
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], edi
mov eax, dword [ebx + 0x2c]
cmp dword [ebx + 0x28], eax
mov dword [esp + 0xbc], 0xffffffff
jne 0x59dbae
test eax, eax
je 0x59db69
add eax, eax
jmp 0x59db6e
mov eax, 0x10
mov esi, dword [ebx + 0x24]
mov dword [ebx + 0x2c], eax
shl eax, 2
push eax
call fcn.00614c96
mov ecx, dword [ebx + 0x28]
mov dword [ebx + 0x24], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x59dba1
lea esp, [esp]
mov ecx, dword [ebx + 0x24]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x28]
inc eax
cmp eax, ecx
jl 0x59db90
test esi, esi
je 0x59dbae
push esi
call fcn.00616a81
add esp, 4
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
mov edx, dword [esp + 0x1c]
mov dword [ecx + eax*4], edx
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x38]
cmp dword [ebx + 0x34], eax
jne 0x59dc0f
test eax, eax
je 0x59dbce
add eax, eax
jmp 0x59dbd3
mov eax, 0x10
mov esi, dword [ebx + 0x30]
mov dword [ebx + 0x38], eax
shl eax, 2
push eax
call fcn.00614c96
mov ecx, dword [ebx + 0x34]
mov dword [ebx + 0x30], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x59dc02
mov ecx, dword [ebx + 0x30]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x34]
inc eax
cmp eax, ecx
jl 0x59dbf1
test esi, esi
je 0x59dc0f
push esi
call fcn.00616a81
add esp, 4
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x30]
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4], edx
inc dword [ebx + 0x34]
mov eax, dword [ebx + 0x44]
cmp dword [ebx + 0x40], eax
jne 0x59dc70
test eax, eax
je 0x59dc2f
add eax, eax
jmp 0x59dc34
mov eax, 0x10
mov esi, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
shl eax, 2
push eax
call fcn.00614c96
mov ecx, dword [ebx + 0x40]
mov dword [ebx + 0x3c], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x59dc63
mov ecx, dword [ebx + 0x3c]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x40]
inc eax
cmp eax, ecx
jl 0x59dc52
test esi, esi
je 0x59dc70
push esi
call fcn.00616a81
add esp, 4
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [esp + 0x18]
mov dword [ecx + eax*4], edx
inc dword [ebx + 0x40]
mov eax, dword [ebx + 0x50]
cmp dword [ebx + 0x4c], eax
jne 0x59dcd1
test eax, eax
je 0x59dc90
add eax, eax
jmp 0x59dc95
mov eax, 0x10
mov esi, dword [ebx + 0x48]
mov dword [ebx + 0x50], eax
shl eax, 2
push eax
call fcn.00614c96
mov ecx, dword [ebx + 0x4c]
mov dword [ebx + 0x48], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x59dcc4
mov ecx, dword [ebx + 0x48]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x4c]
inc eax
cmp eax, ecx
jl 0x59dcb3
test esi, esi
je 0x59dcd1
push esi
call fcn.00616a81
add esp, 4
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
mov edx, dword [esp + 0x14]
mov dword [ecx + eax*4], edx
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0xc]
mov ecx, 0x10
lea esi, [esp + 0x74]
lea edi, [esp + 0x34]
lea ebp, [ebx + 4]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp + 4], eax
jne 0x59dd10
test eax, eax
je 0x59dd03
add eax, eax
jmp 0x59dd08
mov eax, 0x10
push eax
mov ecx, ebp
call fcn.0059cc20
mov edi, dword [ebp + 4]
mov esi, dword [ebp]
mov eax, dword [esp + 0x10]
shl edi, 6
add edi, esi
mov ecx, 0x10
lea esi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
inc dword [ebp + 4]
mov edi, dword [eax + 0x1ee4]
lea ecx, [edi + 1]
mov dword [eax + 0x1ee4], ecx
mov eax, dword [ebx + 0x20]
cmp dword [ebx + 0x1c], eax
jne 0x59dd91
test eax, eax
je 0x59dd4c
add eax, eax
jmp 0x59dd51
mov eax, 0x10
mov esi, dword [ebx + 0x18]
lea edx, [eax*4]
push edx
mov dword [ebx + 0x20], eax
call fcn.00614c96
mov ecx, dword [ebx + 0x1c]
mov dword [ebx + 0x18], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x59dd84
mov ecx, dword [ebx + 0x18]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x1c]
inc eax
cmp eax, ecx
jl 0x59dd73
test esi, esi
je 0x59dd91
push esi
call fcn.00616a81
add esp, 4
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov esi, dword [esp + 0x10]
mov dword [ecx + eax*4], edi
inc dword [ebx + 0x1c]
mov eax, dword [esi + 0x16b0]
cmp dword [esi + 0x16ac], eax
jne 0x59de14
test eax, eax
je 0x59ddb7
add eax, eax
jmp 0x59ddbc
mov eax, 0x10
mov edi, dword [esi + 0x16a8]
lea edx, [eax*4]
push edx
mov dword [esi + 0x16b0], eax
call fcn.00614c96
mov ecx, dword [esi + 0x16ac]
mov dword [esi + 0x16a8], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x59de07
lea ebx, [ebx]
mov ecx, dword [esi + 0x16a8]
mov edx, dword [edi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [esi + 0x16ac]
inc eax
cmp eax, ecx
jl 0x59ddf0
test edi, edi
je 0x59de14
push edi
call fcn.00616a81
add esp, 4
mov eax, dword [esi + 0x16ac]
mov ecx, dword [esi + 0x16a8]
mov dword [ecx + eax*4], ebx
inc dword [esi + 0x16ac]
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xb0
ret 0x1c