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

Disassembly:
jmp 0x417360
test eax, eax
je 0x41759d
mov esi, dword [edx + 0x30]
xor ebx, ebx
movzx ecx, word [esi]
xor byte [ebx], dh
fisttp dword [edi]
mov bh, 0xe
test ecx, ecx
je 0x417396
mov dword [esp + 8], eax
xor ecx, ecx
movzx edi, word [esi + ecx*2]
cmp edi, 0x41
jl 0x417382
cmp edi, 0x5a
lea eax, [edi + 0x20]
cmovle edi, eax
inc ecx
movzx eax, di
add ebx, eax
movzx edi, word [esi + ecx*2]
test edi, edi
jne 0x417370
nop
mov eax, dword [esp + 8]
cmp eax, ebx
je 0x41759d
mov edx, dword [edx]
cmp edx, ebp
jne 0x417356
mov eax, dword [0x852610]
xor ebx, ebx
xor ebp, ebp
mov eax, dword [0x852628]
cmp dword [eax], 0
je 0x41740f
mov edx, dword [esp]
movzx ecx, word [edx]
xor edx, edx
test ecx, ecx
je 0x4174d6
mov edi, dword [esp]
inc edx
movzx esi, word [edi + edx*2]
test esi, esi
jne 0x4173ca
movzx edx, dl
cmp dl, byte [eax]
je 0x4173eb
cmp dl, byte [eax + 1]
jne 0x4174c3
test ecx, ecx
je 0x4174cf
xor ecx, ecx
mov esi, dword [esp]
xor edx, edx
movzx edi, word [esi + edx*2]
inc edx
add ecx, edi
movzx edi, word [esi + edx*2]
test edi, edi
jne 0x4173f2
cmp ecx, dword [eax + 4]
je 0x41740f
cmp ecx, dword [eax + 8]
jne 0x4174c3
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, eax
mov eax, dword [0x852624]
push eax
push 0
push edx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [esp + 0xc], eax
mov eax, dword [0x8525f8]
test eax, eax
jbe 0x417457
mov eax, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [0x852620]
mov esi, dword [ecx + edx]
mov dword [eax + edx], esi
mov edi, dword [0x852638]
add edx, edi
mov ecx, dword [0x8525f8]
cmp edx, ecx
jb 0x417439
test ebx, ebx
je 0x4174c3
mov eax, dword [ebx + 0x3c]
mov esi, dword [eax + ebx + 0x78]
mov edi, dword [esi + ebx + 0x20]
mov edx, dword [esi + ebx + 0x18]
add edi, ebx
test edx, edx
jbe 0x4174c3
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp], esi
mov dword [esp + 8], ebp
mov al, byte [eax]
mov esi, ebx
add esi, dword [edi + ecx*4]
cmp al, byte [esi]
jne 0x4174ba
mov dword [esp + 0x10], edi
xor ebp, ebp
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0xc]
cmp byte [ebp + esi], 0
je 0x4174e1
cmp byte [ebp + edi], 0
je 0x4174e1
inc ebp
mov dl, byte [ebp + esi]
cmp dl, byte [ebp + edi]
je 0x417496
nop dword [eax]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
inc ecx
cmp ecx, edx
jb 0x41747f
mov ebp, dword [esp + 8]
push 1
call ebp
add esp, 0x18
pop ebp
pop ebx
pop edi
pop esi
ret
xor ecx, ecx
jmp 0x417401
cmp byte [eax], 0
jne 0x4173da
jmp 0x4174cf
mov esi, dword [esp]
mov ebp, dword [esp + 8]
mov eax, dword [esi + ebx + 0x1c]
mov esi, dword [esi + ebx + 0x24]
add eax, ebx
add esi, ebx
movzx edx, word [esi + ecx*2]
mov ecx, dword [eax + edx*4]
add ebx, ecx
je 0x4174c3
mov esi, dword [0x85262c]
lea edi, [esp]
push edi
mov edx, dword [0x852600]
mov eax, dword [0x8525f8]
push eax
push edx
push esi
call ebx
mov edx, dword [0x85260c]
mov ecx, dword [esp + 4]
add ecx, edx
mov edx, dword [0x852614]
mov eax, dword [0x852600]
mov dword [esp + 4], ecx
mov ecx, dword [ecx + 4]
cmp edx, eax
jae 0x417561
mov dword [esp + 8], ebp
mov eax, dword [esp + 4]
mov ebp, dword [eax + edx]
add ebp, ecx
mov dword [esi + edx], ebp
mov ebp, dword [0x852638]
add edx, ebp
mov ebp, dword [0x852600]
cmp edx, ebp
jb 0x417543
mov ebp, dword [esp + 8]
mov eax, dword [0x852640]
mov edx, dword [0x852630]
push edi
mov dword [esi + edx*4], eax
push dword [esp + 4]
mov ecx, dword [0x852600]
push ecx
push esi
call ebx
mov ecx, dword [esi + 0xc]
add ecx, esi
mov eax, dword [0x8525fc]
add ecx, eax
mov edx, dword [0x8525fc]
add esi, edx
push esi
call ecx
add esp, 4
jmp 0x4174c3
mov ebx, dword [edx + 0x18]
mov eax, dword [0x852610]
mov dword [esp + 0xc], eax
test ebx, ebx
je 0x4173ab
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [ecx + ebx + 0x20]
mov esi, dword [ecx + ebx + 0x18]
add eax, ebx
test esi, esi
jbe 0x4173ab
mov edx, dword [esp + 0xc]
xor edi, edi
mov dword [esp + 8], ecx
mov dl, byte [edx]
mov ecx, ebx
add ecx, dword [eax + edi*4]
cmp dl, byte [ecx]
jne 0x417611
mov dword [esp + 0x10], ebx
xor ebp, ebp
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0xc]
cmp byte [ebp + ecx], 0
je 0x41761b
cmp byte [ebp + ebx], 0
je 0x41761b
inc ebp
mov al, byte [ebp + ecx]
cmp al, byte [ebp + ebx]
je 0x4175ed
nop dword [eax]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc edi
cmp edi, esi
jb 0x4175d6
jmp 0x4173ab
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx + ebx + 0x1c]
mov ecx, dword [ecx + ebx + 0x24]
add eax, ebx
add ecx, ebx
movzx edx, word [ecx + edi*2]
mov ebp, dword [eax + edx*4]
add ebp, ebx
jmp 0x4173ad