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

Disassembly:
push 0xffffffffffffffff
push 0x3a352e1
mov eax, dword fs:[0]
push eax
sub esp, 0x1e4
mov eax, dword [0x3a7682c]
xor eax, esp
mov dword [esp + 0x1e0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x3a7682c]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov edi, dword [esp + 0x208]
mov ebp, dword [esp + 0x20c]
mov ebx, ecx
mov esi, dword [ebx + 0x1f4]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ebp
test edi, edi
jne 0x39e0a02
cmp esi, dword [0x3a77dd8]
jne 0x39e078b
cmp ebp, 0x10000
jae 0x39e078b
push ebp
push esi
call fcn.039971f0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x39e09fe
mov eax, dword [ebx + 0x36c]
and eax, 0x100004
cmp eax, 4
jne 0x39e07c0
cmp esi, dword [0x3a77dd8]
jne 0x39e07ab
cmp ebp, 0x10000
jb 0x39e07c0
mov eax, dword [ebx + 0x1f4]
push ebp
push eax
call fcn.039971f0
add esp, 8
jmp 0x39e09f2
mov edi, dword [ebx + 0x1f4]
mov ecx, dword [edi + 0x3c]
mov edx, dword [ecx + edi + 0x78]
lea eax, [ecx + edi]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], eax
test edx, edx
jne 0x39e07e6
xor eax, eax
jmp 0x39e0b1a
mov eax, dword [edi + edx + 0x1c]
mov ecx, dword [edi + edx + 0x20]
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [edi + edx + 0x24]
add ecx, edi
add eax, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], 0xffffffff
cmp ebp, 0x10000
jb 0x39e09d9
mov eax, dword [edi + edx + 0x18]
lea ebp, [eax - 1]
xor ebx, ebx
mov dword [esp + 0x30], eax
test ebp, ebp
jl 0x39e08aa
jmp 0x39e0834
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x18], 0xffffffff
jne 0x39e0914
lea eax, [ebx + ebp]
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
mov esi, eax
sar esi, 1
mov ecx, dword [ecx + esi*4]
add ecx, edi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x39e0872
test al, al
je 0x39e086e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x39e0872
add ecx, 2
add edx, 2
test al, al
jne 0x39e0852
xor eax, eax
jmp 0x39e0877
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x39e0889
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + esi*2]
mov dword [esp + 0x18], edx
jmp 0x39e0893
jle 0x39e0890
lea ebp, [esi - 1]
jmp 0x39e0893
lea ebx, [esi + 1]
cmp ebx, ebp
mov edx, dword [esp + 0x20]
jle 0x39e0830
cmp dword [esp + 0x18], 0xffffffff
jne 0x39e0914
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor esi, esi
test eax, eax
jbe 0x39e07df
jmp 0x39e08c4
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x18], 0xffffffff
jne 0x39e0914
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x1c]
add eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x39e08f4
test dl, dl
je 0x39e08f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x39e08f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x39e08d4
xor eax, eax
jmp 0x39e08f9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x39e0909
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + esi*2]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x20]
inc esi
cmp esi, dword [esp + 0x30]
jb 0x39e08c0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x39e07df
cmp eax, dword [edi + edx + 0x14]
jge 0x39e07df
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax*4]
cmp eax, edx
jb 0x39e09e8
mov ecx, dword [esp + 0x34]
add ecx, edx
cmp eax, ecx
jae 0x39e09e8
push 0x104
add eax, edi
push eax
lea edx, [esp + 0xf8]
push edx
call dword [0x3a60620]
cmp byte [esp + 0xf0], 0
lea esi, [esp + 0xf0]
je 0x39e0981
cmp byte [esi], 0x2e
je 0x39e098a
inc esi
cmp byte [esi], 0
jne 0x39e0976
cmp byte [esi], 0x2e
jne 0x39e0b14
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x50]
mov byte [esi], 0
call fcn.039f0170
mov dword [esp + 0x200], 0
mov eax, dword [eax]
push eax
call fcn.039443e0
mov edi, eax
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.039ef660
test edi, edi
je 0x39e0b14
inc esi
push esi
push edi
call fcn.03948b40
jmp 0x39e09f2
mov eax, ebp
sub eax, dword [edi + edx + 0x10]
mov dword [esp + 0x18], eax
jmp 0x39e091c
test eax, eax
je 0x39e0b14
add eax, edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x39e0b14
mov edi, dword [esp + 0x14]
push 0
push edi
call fcn.039d86c0
add esp, 8
test al, al
jne 0x39e0b18
push edi
call fcn.0393dd60
add esp, 4
test al, al
jne 0x39e0b18
cmp byte [ebx + 0x220], al
jne 0x39e0a93
mov ecx, 0x3a7a364
call fcn.039d9190
cmp byte [ebx + 0x220], 0
jne 0x39e0a89
mov eax, dword [ebx]
push eax
lea ecx, [esp + 0x50]
mov byte [ebx + 0x220], 1
call fcn.039f0100
mov dword [esp + 0x200], 1
mov ecx, eax
call fcn.039ef680
push eax
call fcn.039d8000
add esp, 4
mov dword [ebx + 0x21c], eax
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.039ef660
mov ecx, 0x3a7a364
call fcn.039d91a0
mov eax, dword [ebx + 0x21c]
mov esi, edi
test eax, eax
je 0x39e0aac
push ebp
push edi
push eax
call fcn.039d8820
add esp, 0xc
mov esi, eax
call fcn.039e06e0
test al, al
je 0x39e0b10
cmp esi, edi
jne 0x39e0b10
mov eax, dword [ebx]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], esi
call fcn.039f0100
mov dword [esp + 0x200], 2
mov ecx, eax
call fcn.039ef680
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.0393dd30
add esp, 8
mov esi, eax
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.039ef660
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x14]
mov eax, edi
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.03a00f6a
add esp, 0x1f0
ret 0x14