Function at 0x5f3810
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 0x5f3892
cmp eax, 0xfffffff
ja 0x5f3d5d
mov dword [esp], esi
call fcn.006e98d0
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 0x5f38e4
mov ecx, eax
mov edx, edi
mov dword [ebp - 0x2c], eax
test ecx, ecx
je 0x5f38cb
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 0x5f38b1
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.00684b20
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 0x5f3cdf
cmp eax, 0x1f07c1f
ja 0x5f3d54
mov dword [esp], esi
call fcn.006e98d0
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 0x5f39fb
mov dword [ebp - 0x38], ebx
mov ebx, edi
test edx, edx
je 0x5f39c0
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 0x5f39b1
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 0x5f3a3f
cmp eax, 0xfffffff
ja 0x5f3d7c
mov dword [esp], esi
call fcn.006e98d0
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 0x5f3a74
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 0x5f3ab9
cmp eax, 0xaaaaaaa
ja 0x5f3d73
mov dword [esp], esi
call fcn.006e98d0
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 0x5f3b28
mov ecx, eax
mov edx, edi
mov dword [ebp - 0x2c], eax
nop
lea esi, [esi]
test ecx, ecx
je 0x5f3b06
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 0x5f3ae0
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 0x5f3b6b
cmp eax, 0x15555555
ja 0x5f3d6a
mov dword [esp], esi
call fcn.006e98d0
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 0x5f3bc6
mov ecx, eax
mov edx, edi
mov dword [ebp - 0x2c], eax
lea esi, [esi]
test ecx, ecx
je 0x5f3ba4
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 0x5f3b90
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.00684b20
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 0x5f3cd0
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 0x5f3ca8
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.006e98d0
mov edx, eax
mov eax, dword [ebp + 8]
jmp 0x5f3c67
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x2c]
jmp 0x5f3989
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x5f3d08
mov dword [esp], eax
call fcn.006e9880
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x5f3d17
mov dword [esp], eax
call fcn.006e9880
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x5f3d26
mov dword [esp], eax
call fcn.006e9880
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x5f3d35
mov dword [esp], eax
call fcn.006e9880
mov ecx, dword [ebp - 0x3c]
call fcn.00685340
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x5f3d4c
mov dword [esp], eax
call fcn.006e9880
mov dword [esp], esi
call fcn.005d5ce0
call fcn.006de0a0
mov esi, eax
jmp 0x5f3d3d
call fcn.006de0a0
mov esi, eax
jmp 0x5f3cf9
call fcn.006de0a0
mov esi, eax
jmp 0x5f3d17
call fcn.006de0a0
mov esi, eax
jmp 0x5f3d26
call fcn.006de0a0
mov esi, eax
jmp 0x5f3d35