Function at 0x54e4b7
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebx
push ecx
push edx
push esi
push edi
enter 0x2e8, 0
push eax
sub ebp, 0x82
lea edx, [ebp - 0x162]
mov eax, 0x54e16b
mov ebx, dword [sym.imp.kernel32.dll_LoadLibraryA]
call fcn.0054ed5f
push eax
call dword [ebx]
lea edx, [ebp - 0x162]
mov esi, eax
mov ebx, eax
mov eax, 0x54e18b
mov edi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push esi
call dword [edi]
mov dword [ebp - 0xe], eax
cmp dword [ebp - 0x26a], 0
jne 0x54e515
push 0
call dword [ebp - 0xe]
mov dword [ebp - 0x26a], eax
lea edx, [ebp - 0x162]
mov eax, 0x54e19c
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
push 0x104
mov dword [ebp - 0x52], eax
lea eax, [ebp - 0x266]
push eax
push dword [ebp - 0x26a]
call dword [ebp - 0x52]
mov eax, dword [ebp - 0x26a]
mov edi, eax
add edi, dword [eax + 0x3c]
lea eax, [edi + 0x18]
movzx edx, word [edi + 0x14]
add eax, edx
mov dword [ebp + 0x1e], eax
movzx eax, word [edi + 6]
lea edx, [ebp - 0x162]
mov dword [ebp + 0x2a], eax
mov eax, 0x54e174
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp - 6], eax
mov eax, 0x54e1af
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp - 0x1e], eax
mov eax, 0x54e1bb
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp - 0x1a], eax
mov eax, 0x54e1ce
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
mov dword [ebp - 0x26], eax
lea edx, [ebp - 0x162]
mov eax, 0x54e1dc
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp - 0x62], eax
mov eax, 0x54e1ec
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp + 0xe], eax
mov eax, 0x54e1f8
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp + 0x6e], eax
mov eax, 0x54e207
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp - 0x22], eax
mov eax, 0x54e219
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
lea edx, [ebp - 0x162]
mov dword [ebp + 6], eax
mov eax, 0x54e180
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
call fcn.0054ed5f
push eax
push ebx
call dword [esi]
push 0
push pe_nt_image_headers32
push 3
push 0
push 1
push 0x80000000
mov dword [ebp + 0x5a], eax
lea eax, [ebp - 0x266]
push eax
call dword [ebp - 0x1e]
mov dword [ebp + 0x42], eax
cmp eax, 0xffffffff
jne 0x54e6b6
lea eax, [ebp - 0x266]
call fcn.0054e356
push 0
push 0
push 0
push 2
push 0
push dword [ebp + 0x42]
call dword [ebp - 0x1a]
mov dword [ebp + 0xa], eax
test eax, eax
jne 0x54e6d8
lea eax, [ebp - 0x266]
call fcn.0054e356
push 0
push 0
push 0
push 4
push dword [ebp + 0xa]
call dword [ebp - 0x26]
mov dword [ebp + 0x12], eax
test eax, eax
jne 0x54e6f8
lea eax, [ebp - 0x266]
call fcn.0054e356
mov esi, dword [ebp + 0x12]
add esi, dword [0x54e0a1]
cmp dword [esi], 0x4181996
je 0x54e714
lea eax, [ebp - 0x266]
call fcn.0054e341
lea eax, [esi + 0x54]
mov dword [ebp + 0x52], eax
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp + 0x52]
shl eax, 4
push 0x10004
add edx, eax
push 0
mov dword [ebp - 0x4e], edx
call dword [ebp - 6]
mov dword [ebp + 0x6a], eax
test eax, eax
jne 0x54e744
lea eax, [ebp - 0x266]
call fcn.0054e31c
mov edx, dword [ebp - 0x26a]
mov ecx, dword [ebp + 0x6a]
mov eax, dword [edi + 0x28]
mov ebx, dword [esi + 0xc]
add edx, eax
mov eax, dword [ebp - 0x4e]
mov dword [ebp + 0x1a], edx
add edx, dword [esi + 8]
call fcn.0054ee64
mov dword [ebp - 0x4e], eax
test eax, eax
jne 0x54e77a
mov edx, 0xfffffffd
lea eax, [ebp - 0x266]
call fcn.0054e4a1
mov edx, dword [ebp + 0x1a]
mov ecx, dword [ebp + 0x6a]
mov eax, dword [ebp - 0x4e]
mov ebx, dword [esi + 0x14]
add edx, dword [esi + 0x10]
call fcn.0054ee64
mov dword [ebp - 0x4e], eax
test eax, eax
jne 0x54e7a5
mov edx, 0xfffffffd
lea eax, [ebp - 0x266]
call fcn.0054e4a1
mov eax, dword [edi + 0x38]
dec eax
mov dword [ebp + 0x3a], eax
lea eax, [edi + 0x78]
mov ebx, dword [ebp - 0x26a]
mov dword [ebp + 0x4a], eax
sub ebx, dword [edi + 0x34]
je 0x54e7df