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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x4c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x20]
sub esi, dword [eax + 0x1c]
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov eax, esi
sar eax, 4
test eax, eax
je 0x5f50f2
cmp eax, 0xfffffff
ja 0x5f55bd
mov dword [esp], esi
call fcn.006eb380
mov edi, dword [ebp + 8]
add esi, eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], esi
mov esi, dword [edi + 0x20]
mov edi, dword [edi + 0x1c]
cmp esi, edi
je 0x5f5144
mov ecx, eax
mov edx, edi
mov dword [ebp - 0x2c], eax
test ecx, ecx
je 0x5f512b
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
add edx, 0x10
add ecx, 0x10
cmp esi, edx
jne 0x5f5111
mov eax, dword [ebp - 0x2c]
add edi, 0x10
sub esi, edi
and esi, 0xfffffff0
lea eax, [eax + esi + 0x10]
mov dword [ebx + 0x20], eax
lea eax, [ebx + 0x28]
mov dword [ebx + 0x28], 0
mov ecx, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax + 0x2c]
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x38], eax
lea eax, [ebp - 0x20]
mov dword [ebx + 0x3c], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
add eax, 0x28
mov dword [esp], eax
call fcn.00686540
mov eax, dword [ebp + 8]
sub esp, 8
mov esi, dword [eax + 0x48]
sub esi, dword [eax + 0x44]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
mov eax, esi
sar eax, 2
imul eax, eax, 0x3e0f83e1
test eax, eax
je 0x5f553f
cmp eax, 0x1f07c1f
ja 0x5f55b4
mov dword [esp], esi
call fcn.006eb380
mov dword [ebp - 0x2c], eax
mov edx, eax
mov eax, dword [ebp + 8]
add esi, edx
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], esi
mov eax, dword [eax + 0x48]
mov edi, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x44]
cmp edi, eax
mov dword [ebp - 0x34], eax
je 0x5f525b
mov dword [ebp - 0x38], ebx
mov ebx, edi
test edx, edx
je 0x5f5220
mov ecx, 0x21
mov edi, edx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
add edx, 0x84
cmp ebx, eax
jne 0x5f5211
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x38]
add eax, 0x84
sub edi, eax
mov eax, edi
shr eax, 2
imul eax, eax, 0x3e0f83e1
and eax, 0x3fffffff
add eax, 1
imul eax, eax, 0x84
add dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebx + 0x48], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x54]
sub esi, dword [eax + 0x50]
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov eax, esi
sar eax, 4
test eax, eax
je 0x5f529f
cmp eax, 0xfffffff
ja 0x5f55dc
mov dword [esp], esi
call fcn.006eb380
mov edi, eax
add esi, edi
mov eax, dword [ebp + 8]
mov dword [ebx + 0x50], edi
mov dword [ebx + 0x58], esi
mov esi, dword [ebp + 8]
mov dword [ebx + 0x54], edi
mov eax, dword [eax + 0x50]
mov esi, dword [esi + 0x54]
mov dword [ebp - 0x2c], esi
sub esi, eax
mov edx, esi
sar edx, 4
test edx, edx
je 0x5f52d4
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov eax, dword [ebp + 8]
add edi, esi
mov dword [ebx + 0x54], edi
mov esi, dword [eax + 0x60]
sub esi, dword [eax + 0x5c]
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov eax, esi
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x5f5319
cmp eax, 0xaaaaaaa
ja 0x5f55d3
mov dword [esp], esi
call fcn.006eb380
mov edi, dword [ebp + 8]
add esi, eax
mov dword [ebx + 0x5c], eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x64], esi
mov esi, dword [edi + 0x60]
mov edi, dword [edi + 0x5c]
cmp esi, edi
je 0x5f5388
mov ecx, eax
mov edx, edi
mov dword [ebp - 0x2c], eax
nop
lea esi, [esi]
test ecx, ecx
je 0x5f5366
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
add edx, 0x18
add ecx, 0x18
cmp esi, edx
jne 0x5f5340
add edi, 0x18
mov eax, dword [ebp - 0x2c]
sub esi, edi
shr esi, 3
imul esi, esi, 0xaaaaaab
lea edx, [esi + esi*2]
lea eax, [eax + edx*8 + 0x18]
mov dword [ebx + 0x60], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x6c]
sub esi, dword [eax + 0x68]
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x70], 0
mov eax, esi
sar eax, 2
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x5f53cb
cmp eax, 0x15555555
ja 0x5f55ca
mov dword [esp], esi
call fcn.006eb380
mov edi, dword [ebp + 8]
add esi, eax
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x70], esi
mov esi, dword [edi + 0x6c]
mov edi, dword [edi + 0x68]
cmp esi, edi
je 0x5f5426
mov ecx, eax
mov edx, edi
mov dword [ebp - 0x2c], eax
lea esi, [esi]
test ecx, ecx
je 0x5f5404
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
add edx, 0xc
add ecx, 0xc
cmp esi, edx
jne 0x5f53f0
add edi, 0xc
mov eax, dword [ebp - 0x2c]
sub esi, edi
shr esi, 2
imul esi, esi, 0x2aaaaaab
lea edx, [esi + esi*2]
lea eax, [eax + edx*4 + 0xc]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp + 8]
lea esi, [ebx + 0x74]
mov dword [ebx + 0x74], 0
mov ecx, esi
mov dword [ebp - 0x1c], esi
mov eax, dword [eax + 0x78]
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x80]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x88]
mov eax, dword [eax + 0x84]
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x84], eax
lea eax, [ebp - 0x1c]
mov dword [ebx + 0x88], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
add eax, 0x74
mov dword [esp], eax
call fcn.00686540
mov eax, dword [ebp + 8]
sub esp, 8
xor edx, edx
mov edi, dword [eax + 0x94]
sub edi, dword [eax + 0x90]
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], 0
test edi, edi
jne 0x5f5530
add edi, edx
mov dword [ebx + 0x90], edx
mov dword [ebx + 0x94], edx
mov dword [ebx + 0x98], edi
mov ecx, dword [eax + 0x90]
xor esi, esi
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x2c], eax
sub eax, ecx
je 0x5f5508
mov dword [esp], edx
mov dword [esp + 8], eax
mov esi, eax
mov dword [esp + 4], ecx
mov dword [ebp - 0x2c], edx
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x2c]
lea eax, [edx + esi]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
mov dword [ebx + 0x9c], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov dword [esp], edi
call fcn.006eb380
mov edx, eax
mov eax, dword [ebp + 8]
jmp 0x5f54c7
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x2c]
jmp 0x5f51e9
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x5f5568
mov dword [esp], eax
call fcn.006eb330
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x5f5577
mov dword [esp], eax
call fcn.006eb330
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x5f5586
mov dword [esp], eax
call fcn.006eb330
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x5f5595
mov dword [esp], eax
call fcn.006eb330
mov ecx, dword [ebp - 0x3c]
call fcn.00686d60
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x5f55ac
mov dword [esp], eax
call fcn.006eb330
mov dword [esp], esi
call fcn.005d7530
call fcn.006dfac0
mov esi, eax
jmp 0x5f559d
call fcn.006dfac0
mov esi, eax
jmp 0x5f5559
call fcn.006dfac0
mov esi, eax
jmp 0x5f5577
call fcn.006dfac0
mov esi, eax
jmp 0x5f5586
call fcn.006dfac0
mov esi, eax
jmp 0x5f5595