Function at 0x3f06c80
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x10109618]
sub esp, 0x1ac
mov eax, dword [ecx]
push ebx
push ebp
push esi
push edi
call dword [eax + 0xf8]
mov edi, dword [esp + 0x1c4]
test eax, eax
je 0x3f048ac
push 0x100eff98
push edi
push 0x100fe788
push 0x100f7164
push 4
lea ecx, [esp + 0x28]
call fcn.03e496c0
mov ecx, eax
call fcn.03e4ba10
mov ecx, eax
call fcn.03e4ba10
mov ecx, eax
call fcn.03e4ba10
lea ecx, [esp + 0x14]
call fcn.03e4b6e0
push 0
push 0
push 2
push 0
push 1
push 0x40000000
push edi
call dword [0x100df084]
mov esi, eax
cmp esi, 0xffffffff
jne 0x3f048f8
call dword [0x100df274]
mov ecx, dword [0x10109618]
mov ebx, eax
mov edx, dword [ecx]
call dword [edx + 0xf8]
test eax, eax
je 0x3f04cf0
push ebx
push 0x100fd630
push edi
push 0x100fe7d8
jmp 0x3f04cbb
lea eax, [esp + 0x17c]
push 0x40
push eax
call fcn.03f03a70
mov ebp, dword [0x100df210]
add esp, 8
mov eax, 0x5a4d
mov dword [esp + 0x1b8], 0x40
mov word [esp + 0x17c], ax
lea eax, [esp + 0x20]
push 0
push eax
push 0x40
lea eax, [esp + 0x188]
push eax
push esi
call ebp
test eax, eax
jne 0x3f0496f
call dword [0x100df274]
mov ecx, dword [0x10109618]
mov ebx, eax
mov edx, dword [ecx]
call dword [edx + 0xf8]
test eax, eax
je 0x3f04cf0
push ebx
push 0x100fd630
push edi
push 0x100fe828
jmp 0x3f04cbb
lea eax, [esp + 0x74]
push 0x108
push eax
call fcn.03f03a70
mov ecx, dword [esp + 0x1c8]
xor edx, edx
add esp, 8
mov dword [esp + 0x74], 0x4550
mov dword [esp + 0x9c], 0x1000
mov dword [esp + 0xa0], 0x1000
movzx eax, word [ecx + 0x16]
mov ebx, dword [ecx + 0x50]
mov word [esp + 0x8a], ax
add ebx, 0x2000
movzx eax, word [ecx + 4]
mov word [esp + 0x78], ax
mov eax, 2
mov word [esp + 0x7a], ax
mov eax, pe_nt_image_headers32
mov word [esp + 0x88], ax
movzx eax, word [ecx + 0x18]
mov word [esp + 0x8c], ax
mov eax, dword [ecx + 0x30]
mov dword [esp + 0xa4], eax
mov eax, dword [ecx + 0x34]
mov dword [esp + 0xa8], eax
movzx eax, word [ecx + 0x5c]
mov word [esp + 0xd0], ax
mov eax, ebx
div dword [0x101094b0]
mov dword [esp + 0xb0], 0x1000
mov dword [esp + 0xac], 0x1000
mov dword [esp + 0x90], 0x1000
mov dword [esp + 0xc8], 0x1000
mov dword [esp + 0xf8], 0x10
test edx, edx
jne 0x3f04a55
mov dword [esp + 0xc4], ebx
jmp 0x3f04a64
inc eax
imul eax, dword [0x101094b0]
mov dword [esp + 0xc4], eax
movzx eax, word [ecx + 0x40]
mov word [esp + 0xb4], ax
movzx eax, word [ecx + 0x42]
mov word [esp + 0xb6], ax
movzx eax, word [ecx + 0x44]
mov word [esp + 0xb8], ax
movzx eax, word [ecx + 0x46]
mov word [esp + 0xba], ax
movzx eax, word [ecx + 0x48]
mov word [esp + 0xbc], ax
movzx eax, word [ecx + 0x4a]
mov word [esp + 0xbe], ax
mov eax, dword [ecx + 0x4c]
mov dword [esp + 0xc0], eax
mov eax, dword [ecx + 0x60]
mov dword [esp + 0xd4], eax
mov eax, dword [ecx + 0x64]
mov dword [esp + 0xd8], eax
mov eax, dword [ecx + 0x68]
mov dword [esp + 0xdc], eax
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0xe0], eax
mov eax, dword [ecx + 0x70]
mov dword [esp + 0xe4], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0xe8], eax
mov eax, dword [ecx + 0x78]
mov dword [esp + 0xec], eax
mov eax, dword [ecx + 0x7c]
push 0
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x24]
push eax
push 0x108
lea eax, [esp + 0x80]
push eax
push esi
call ebp
mov ebx, dword [0x100df1d8]
xor eax, eax
mov dword [esp + 0x25], eax
xorps xmm0, xmm0
mov word [esp + 0x29], ax
mov byte [esp + 0x2b], al
lea eax, [esp + 0x24]
push 0x100fe57c
push eax
mov byte [esp + 0x2c], 0
movdqu xmmword [esp + 0x34], xmm0
movdqu xmmword [esp + 0x44], xmm0
call ebx
push 0
lea eax, [esp + 0x24]
mov dword [esp + 0x34], 0x1000
push eax
push 0x28
lea eax, [esp + 0x30]
mov dword [esp + 0x40], 0x1000
push eax
push esi
mov dword [esp + 0x4c], 0x1000
mov dword [esp + 0x40], 0x1000
mov dword [esp + 0x5c], 0xe0000060
call ebp
test eax, eax
je 0x3f04940
xor eax, eax
mov byte [esp + 0x4c], 0
mov dword [esp + 0x4d], eax
xorps xmm0, xmm0
mov word [esp + 0x51], ax
mov byte [esp + 0x53], al
lea eax, [esp + 0x4c]
push 0x100fe58c
push eax
movdqu xmmword [esp + 0x5c], xmm0
movdqu xmmword [esp + 0x6c], xmm0
call ebx
mov eax, dword [esp + 0xc4]
add eax, 0xffffe000
mov dword [esp + 0x58], 0x2000
push 0
mov dword [esp + 0x58], eax
lea eax, [esp + 0x24]
push eax
push 0x28
lea eax, [esp + 0x58]
mov dword [esp + 0x68], 0
push eax
push esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x84], 0xc0000080
call ebp
test eax, eax
je 0x3f04940
mov ebx, dword [0x100df0d8]
push 0
push 0
push dword [esp + 0x40]
push esi
call ebx
push 0
lea eax, [esp + 0x24]
mov byte [esp + 0x17], 0xc3
push eax
push 1
lea eax, [esp + 0x1f]
push eax
push esi
call ebp
test eax, eax
je 0x3f04940
push 0
push 0
push 0x1000
push esi
call ebx
cmp eax, 0xffffffff
jne 0x3f04c7a
call dword [0x100df274]
mov ecx, dword [0x10109618]
mov ebx, eax
mov edx, dword [ecx]
call dword [edx + 0xf8]
test eax, eax
je 0x3f04cf0
push ebx
push 0x100fd630
push edi
push 0x100fe880
jmp 0x3f04cbb
push 1
push 0
push dword [esp + 0x3c]
push esi
call ebx
cmp eax, 0xffffffff
je 0x3f04c4e
push esi
call dword [0x100df0d4]
test eax, eax
jne 0x3f04cf4
call dword [0x100df274]
mov ecx, dword [0x10109618]
mov ebx, eax
mov edx, dword [ecx]
call dword [edx + 0xf8]
test eax, eax
je 0x3f04cf0
push ebx
push 0x100fd630
push edi
push 0x100fe8e0
push 0x100f7164
push 0
lea ecx, [esp + 0x2c]
call fcn.03e496c0
mov ecx, eax
call fcn.03e4ba10
mov ecx, eax
call fcn.03e4ba10
mov ecx, eax
call fcn.03e4ba10
mov ecx, eax
call fcn.03e4b8e0
lea ecx, [esp + 0x14]
call fcn.03e4b6e0
xor edi, edi
jmp 0x3f04cf9
mov edi, 1
test esi, esi
je 0x3f04d08
cmp esi, 0xffffffff
je 0x3f04d08
push esi
call fcn.03ef8890
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1ac
ret
jmp 0x3f04850