Function at 0x48987c
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x18], eax
call fcn.0047ac48
mov esi, eax
lea eax, [esi + 0x325aa0]
mov dword [ebp - 0x14], eax
cmp esi, dword [0x49f4dc]
jae 0x4898b8
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x49f4dc]
jbe 0x4898b8
mov eax, dword [0x49f4dc]
sub eax, 4
mov dword [ebp - 0x14], eax
push 0x48a3c4
call sub.KERNEL32.DLL_LoadLibraryA
mov ebx, eax
cmp ebx, 0x20
jg 0x4898d1
test ebx, ebx
jge 0x48a3b8
push 0x48a3d0
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov edi, eax
mov dword [ebp - 4], edi
test edi, edi
je 0x48a3b8
mov dword [0x4a11b4], edi
push 0x48a3d8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [ebp - 8], eax
push 0x48a3e8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [ebp - 0xc], eax
push 0x48a3f8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a121c], eax
push 0x48a404
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1218], eax
push 0x48a410
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1214], eax
push 0x48a424
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1210], eax
push 0x48a438
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a120c], eax
push 0x48a444
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1208], eax
push 0x48a454
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1200], eax
push 0x48a460
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11f8], eax
push 0x48a474
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11fc], eax
push 0x48a488
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1204], eax
push 0x48a494
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1220], eax
push 0x48a4a8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1224], eax
push 0x48a4b8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a1228], eax
push ebx
call sub.KERNEL32.DLL_FreeLibrary
push 0x48a4c8
call sub.KERNEL32.DLL_LoadLibraryA
mov ebx, eax
cmp ebx, 0x20
jg 0x4899fa
test ebx, ebx
jge 0x48a3b8
push 0x48a4d4
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11b8], eax
push 0x48a4e4
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11bc], eax
push 0x48a4f4
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11c0], eax
push 0x48a504
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11c4], eax
push ebx
call sub.KERNEL32.DLL_FreeLibrary
cmp dword [0x4a11b8], 0
je 0x48a3b8
cmp dword [0x4a11bc], 0
je 0x48a3b8
push 0x48a514
call sub.KERNEL32.DLL_LoadLibraryA
mov ebx, eax
cmp ebx, 0x20
jg 0x489a73
test ebx, ebx
jge 0x48a3b8
push 0x48a520
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11cc], eax
push 0x48a52c
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11c8], eax
push ebx
call sub.KERNEL32.DLL_FreeLibrary
push 0x48a53c
call sub.KERNEL32.DLL_LoadLibraryA
mov ebx, eax
cmp ebx, 0x20
jg 0x489ab2
test ebx, ebx
jge 0x48a3b8
push 0x48a548
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11e4], eax
push 0x48a55c
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11e8], eax
push ebx
call sub.KERNEL32.DLL_FreeLibrary
mov eax, 0x447f38
test eax, eax
je 0x48a3b8
cmp dword [0x4a11e4], 0
je 0x48a3b8
push 0x48a57c
call sub.KERNEL32.DLL_LoadLibraryA
mov ebx, eax
cmp ebx, 0x20
jg 0x489b0b
test ebx, ebx
jge 0x48a3b8
push 0x48a588
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a122c], eax
push 0x48a594
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11d4], eax
push 0x48a5a0
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11d8], eax
push 0x48a5b0
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11dc], eax
push 0x48a5c8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11d0], eax
push 0x48a5d8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11f4], eax
push 0x48a5e8
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11f0], eax
push ebx
call sub.KERNEL32.DLL_FreeLibrary
cmp dword [0x4a122c], 0
je 0x48a3b8
cmp dword [0x4a11f0], 0
je 0x48a3b8
cmp dword [0x4a11d4], 0
je 0x48a3b8
cmp dword [0x4a11d8], 0
je 0x48a3b8
cmp dword [0x4a11dc], 0
je 0x48a3b8
cmp dword [0x4a11d0], 0
je 0x48a3b8
push 0x48a5f4
call sub.KERNEL32.DLL_LoadLibraryA
mov ebx, eax
push 0x48a600
push ebx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4a11e0], eax
push ebx
call sub.KERNEL32.DLL_FreeLibrary
cmp dword [0x4a11e0], 0
je 0x48a3b8
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x14]
jae 0x48a3b8
mov byte [ebp - 0x21], 0
xor edx, edx
push ebp
push 0x48a38c
push dword fs:[edx]
mov dword fs:[edx], esp
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_IsBadReadPtr
test eax, eax
je 0x489c37
mov byte [ebp - 0x21], 1
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
cmp edx, dword [ebp - 0xc]
jne 0x489cb0
xor edx, edx
push ebp
push 0x489ca1
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
push edx
push 0x40
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x4887c0
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489c94
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
cmp edx, dword [0x4a11c8]
jne 0x489d2c
xor edx, edx
push ebp
push 0x489d1d
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
push edx
push 0x40
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x487d6c
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489d10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
cmp edx, dword [0x4a11e8]
jne 0x489da8
xor edx, edx
push ebp
push 0x489d99
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
push edx
push 0x40
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x4889c0
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489d8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
cmp edx, dword [0x4a11f4]
jne 0x489e24
xor edx, edx
push ebp
push 0x489e15
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
push edx
push 0x40
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x488d6c
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489e08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
cmp edx, dword [0x4a11f0]
jne 0x489ea0
xor edx, edx
push ebp
push 0x489e91
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
push edx
push 0x40
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x488d4c
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489e84
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
cmp edx, dword [0x4a121c]
jne 0x489f1c
xor edx, edx
push ebp
push 0x489f0d
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
push edx
push 0x40
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x489570
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489f00
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
cmp edx, dword [0x4a1218]
jne 0x489f98
xor edx, edx
push ebp
push 0x489f89
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x1c]
push edx
push 0x40
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x4894a0
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489f7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a120c]
jne 0x48a017
xor edx, edx
push ebp
push 0x48a008
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x489230
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x489ffb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a1204]
jne 0x48a096
xor edx, edx
push ebp
push 0x48a087
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x48917c
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x48a07a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a1200]
jne 0x48a115
xor edx, edx
push ebp
push 0x48a106
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x489128
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x48a0f9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a11f8]
jne 0x48a194
xor edx, edx
push ebp
push 0x48a185
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x489080
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x48a178
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a1220]
jne 0x48a213
xor edx, edx
push ebp
push 0x48a204
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x48962c
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x48a1f7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a1224]
jne 0x48a292
xor edx, edx
push ebp
push 0x48a283
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x489654
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x48a276
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a11e4]
jne 0x48a30e
xor edx, edx
push ebp
push 0x48a302
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x4887d4
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x48a2f5
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp eax, dword [0x4a122c]
jne 0x48a382
xor edx, edx
push ebp
push 0x48a378
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.DLL_VirtualProtect
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x489808
lea edx, [ebp - 0x20]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push 4
push eax
call sub.KERNEL32.DLL_VirtualProtect
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x48a36e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a3b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a382
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48a39a
cmp byte [ebp - 0x21], 0
je 0x48a3a9
push ebp
call fcn.00489844
pop ecx
jmp 0x48a3ac
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x14]
jb 0x489c0d
mov eax, dword [ebp - 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret