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

Disassembly:
mov ebx, dword [eax + edi + 0x18]
test ebx, ebx
je 0x18d987d
mov edx, dword [eax + edi + 0x20]
dec ebx
add edx, edi
mov dword [ebp + 8], 0
mov dword [ebp - 0xc], edx
test ebx, ebx
jl 0x18d987d
jmp 0x17e73e5
mov eax, dword [ebp + 0xc]
push eax
push edi
mov eax, dword [sym.imp.kernel32.dll_GetProcAddress]
call eax
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + edi + 0x24]
lea eax, [edx + esi*2]
movzx ecx, word [eax + edi]
lea edx, [ebx + 1]
mov dword [ebp - 8], ecx
mov dword [ebp + 8], edx
jmp 0x18d986e
pop esi
pop ebx
lea eax, [ecx + edi]
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
lea esi, [ebx + eax]
mov eax, dword [ebp + 0x10]
push eax
sar esi, 1
mov eax, dword [edx + esi*4]
add eax, edi
call fcn.018e155d
add esp, 4
cmp eax, 0xffffffff
je 0x18d986b
test eax, eax
je 0x17db5d9
cmp eax, 1
jne 0x18d986e
inc esi
mov dword [ebp + 8], esi
jmp 0x18d986e
push ebp
mov ebp, esp
sub esp, 0x114
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x17fbba3
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x17fbba3
mov eax, 0x5a4d
cmp word [edi], ax
je 0x1816f99
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 0x23
lea ecx, [esi + 1]
je 0x18df94e
push 0
push ecx
push eax
call fcn.017fbb75
add esp, 0xc
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x3c]
add edx, edi
cmp dword [edx], 0x4550
jne 0x17fbba3
mov eax, dword [edx + 0x78]
mov dword [ebp - 4], eax
test eax, eax
je 0x17fbba3
mov edx, dword [edx + 0x7c]
push ebx
push esi
or esi, 0xffffffff
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], esi
cmp ecx, 0xffff
ja 0x1320a8e
sub ecx, dword [eax + edi + 0x10]
cmp ecx, dword [eax + edi + 0x14]
jae 0x18d98d4
mov edx, dword [eax + edi + 0x1c]
lea ecx, [edx + ecx*4]
mov ecx, dword [ecx + edi]
test ecx, ecx
jne 0x18d9899
pop esi
pop ebx
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret
lea ebx, [esi - 1]
cmp dword [ebp + 8], ebx
jle 0x17e73df
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
cmp esi, dword [eax + edi + 0x14]
jae 0x18d98d4
mov ecx, dword [eax + edi + 0x1c]
lea edx, [ecx + esi*4]
mov ecx, dword [edx + edi]
test ecx, ecx
je 0x18d98d4
cmp ecx, eax
jb 0x17e2ad0
mov edx, dword [ebp - 0x10]
add edx, eax
cmp ecx, edx
jae 0x17e2ad0
lea eax, [ecx + edi]
mov cl, byte [eax]
mov esi, eax
test cl, cl
je 0x18d98d4
mov edi, edi
cmp cl, 0x2e
je 0x18f1f12
mov cl, byte [esi + 1]
inc esi
test cl, cl
jne 0x18d98bf
pop esi
pop ebx
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret
mov cl, byte [esi + 2]
add esi, 2
xor edx, edx
test cl, cl
je 0x18df981
mov bl, cl
sub bl, 0x30
inc esi
cmp bl, 9
ja 0x18df981
movsx ecx, cl
lea edx, [edx + edx*4]
lea edx, [ecx + edx*2 - 0x30]
mov cl, byte [esi]
test cl, cl
jne 0x18df95e
push 0
push edx
push eax
call fcn.017fbb75
add esp, 0xc
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, esi
sub ecx, eax
cmp ecx, 0x104
jae 0x18d98d4
mov dword [ebp + 8], 0
test ecx, ecx
jbe 0x18f1f56
lea ebx, [ebp - 0x114]
sub ebx, eax
mov dl, byte [eax]
test dl, dl
je 0x18f1f56
mov byte [ebx + eax], dl
mov edx, dword [ebp + 8]
inc edx
inc eax
mov dword [ebp + 8], edx
cmp edx, ecx
jb 0x18f1f39
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x114]
push ecx
mov byte [ebp + eax - 0x114], 0
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleA]
call eax
test eax, eax
jne 0x18f1f8d
lea edx, [ebp - 0x114]
push edx
mov eax, dword [sym.imp.kernel32.dll_LoadLibraryA]
call eax
test eax, eax
je 0x18d98d4
cmp eax, edi
jne 0x1813082
cmp byte [ebp + 0x10], 0
je 0x17c751b
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x114]
xor edx, edx
sub ebx, eax
mov edi, edi
mov eax, 0x2e9e2a48
mov cl, dl
rol eax, cl
lea esi, [ebp + edx - 0x114]
add al, dl
xor al, byte [ebx + esi]
mov byte [esi], al
je 0x18f1fd8
inc edx
cmp edx, 0x104
jb 0x18f1fae
lea eax, [ebp - 0x114]
push eax
push edi
mov eax, dword [sym.imp.kernel32.dll_GetProcAddress]
call eax
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret