Function at 0x48a280
Capabilities:
Parse pe header
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4fed8e
mov eax, dword fs:[0]
push eax
mov eax, 0x107a8
call fcn.004b7ac0
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x107a4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52e144]
xor eax, esp
push eax
lea eax, [esp + 0x107bc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x107cc]
push esi
push 0x51e1f0
mov dword [esp + 0x44], esi
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push esi
mov byte [esp + 0x1f], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x48a304
lea eax, [ebx + 1]
jmp 0x48aa4a
cmp ebx, 0x4f000000
jae 0x48a316
mov eax, 0xb
jmp 0x48aa4a
mov eax, 0x5a4d
cmp word [ebx], ax
je 0x48a32a
mov eax, 2
jmp 0x48aa4a
mov edi, dword [ebx + 0x3c]
add edi, ebx
cmp dword [edi], 0x4550
je 0x48a341
mov eax, 3
jmp 0x48aa4a
mov ecx, 0x14c
cmp word [edi + 4], cx
je 0x48a361
mov edx, 0x100
test word [edi + 0x16], dx
jne 0x48a361
mov eax, 4
jmp 0x48aa4a
movzx eax, word [edi + 0x14]
lea eax, [eax + edi + 0x18]
mov dword [esp + 0x20], eax
mov al, byte [eax]
cmp al, 0x2e
je 0x48a394
cmp al, 0x5f
je 0x48a394
push 0x51e1d8
mov byte [esp + 0x1f], 1
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0x3a
push esi
call fcn.004b6cb9
add esp, 8
test eax, eax
je 0x48a3bc
lea edx, [esp + 0x2b4]
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48a3b0
jmp 0x48a3d0
push 0x104
lea ecx, [esp + 0x2b8]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
push 0x80
push 3
push 0
push 3
push closesocket
lea edx, [esp + 0x2cc]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
mov dword [esp + 0x34], ebp
cmp ebp, 0xffffffff
jne 0x48a405
mov eax, 5
jmp 0x48aa4a
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x44]
push eax
push 0x40
lea ecx, [esp + 0x280]
push ecx
push ebp
call esi
mov edx, 0x5a4d
cmp word [esp + 0x274], dx
je 0x48a43f
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 6
jmp 0x48aa4a
mov eax, dword [esp + 0x2b0]
mov ebx, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
push 0
push eax
push ebp
call ebx
push 0
lea ecx, [esp + 0x44]
push ecx
push 0xf8
lea edx, [esp + 0x58]
push edx
push ebp
call esi
cmp dword [esp + 0x4c], 0x4550
je 0x48a483
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 7
jmp 0x48aa4a
mov eax, 0x20b
cmp word [esp + 0x64], ax
jne 0x48a4b5
mov ecx, dword [esp + 0x2b0]
push 0
push 0
push ecx
push ebp
call ebx
push 0
lea edx, [esp + 0x44]
push edx
push 0x108
lea eax, [esp + 0x150]
push eax
push ebp
call esi
mov eax, dword [edi + 0x50]
mov ecx, dword [esp + 0x9c]
cmp eax, ecx
je 0x48a4f1
push ecx
push eax
push 0x51e1b0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x4d
jmp 0x48aa4a
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
je 0x48a531
lea edx, [eax - 1]
cmp edx, ecx
je 0x48a531
push ecx
push eax
push 0x51e188
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x4e
jmp 0x48aa4a
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x14], eax
je 0x48a570
push eax
mov eax, dword [esp + 0x18]
push eax
push 0x51e160
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x4f
jmp 0x48aa4a
push 0
lea ecx, [esp + 0x44]
push ecx
push 0x28
lea edx, [esp + 0x258]
push edx
push ebp
call esi
mov al, byte [esp + 0x24c]
cmp al, 0x2e
je 0x48a59d
cmp al, 0x5f
je 0x48a59d
mov eax, 8
jmp 0x48aa4a
mov ecx, dword [esp + 0x258]
mov ebx, dword [esp + 0x260]
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x254]
sub ebx, edi
add edx, ecx
add ebx, ecx
mov ecx, 0x20b
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], edx
cmp word [esp + 0x64], cx
jne 0x48a5e4
mov ecx, dword [esp + 0x22c]
mov esi, dword [esp + 0x230]
jmp 0x48a5f2
mov ecx, dword [esp + 0x124]
mov esi, dword [esp + 0x128]
cmp ecx, edi
jne 0x48a719
add dword [esp + 0x44], esi
sub eax, esi
add ebx, esi
push 0x108
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ebx
call fcn.004b7c73
add esp, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x107c4], 0
test eax, eax
je 0x48a637
mov ecx, eax
call fcn.004aace0
mov dword [esp + 0x1c], eax
jmp 0x48a63f
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
push edx
mov dword [esp + 0x107c8], 0xffffffff
call fcn.004aae80
mov ecx, dword [esp + 0x1c]
call fcn.004aad20
mov dword [esp + 0x38], eax
test eax, eax
je 0x48a719
mov ecx, dword [esp + 0x14]
lea ebx, [eax + edi]
mov al, byte [ebx]
lea ebp, [edi + ecx]
mov ecx, ebp
xor edx, edx
mov dword [esp + 0x2c], esi
cmp al, byte [ecx]
jne 0x48a6a5
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x1c], eax
lea ecx, [ecx]
inc edx
sub dword [esp + 0x2c], 1
je 0x48a711
mov eax, dword [esp + 0x1c]
mov al, byte [eax + ecx + 1]
inc ecx
cmp al, byte [ecx]
je 0x48a690
mov eax, dword [esp + 0x14]
lea ecx, [edx + edi]
add ecx, eax
mov eax, dword [esp + 0x38]
add edx, eax
movzx edx, byte [edx + edi]
movzx eax, byte [ecx]
push edx
push eax
push ecx
push 0x51e140
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
push esi
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.004898f0
add esp, 0x10
test eax, eax
jne 0x48a711
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51e130
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x34]
cmp byte [esp + 0x1b], 0
mov esi, dword [esp + 0x20]
je 0x48a792
push 0
push 0
push 0
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x48a792
push 0
lea ecx, [esp + 0x4c]
push ecx
push 0x400
lea edx, [esp + 0x3c4]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x48a792
mov ecx, dword [esp + 0x14]
push 0x400
lea eax, [esp + 0x3bc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.004898f0
add esp, 0x10
test eax, eax
je 0x48a792
push 0x51e118
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
xor edi, edi
push edi
push edi
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x48a7b2
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi + 9]
jmp 0x48aa4a
mov al, byte [esi]
cmp al, 0x2e
je 0x48a7dd
cmp al, 0x5f
je 0x48a7dd
mov al, byte [esi + 0x28]
cmp al, 0x2e
je 0x48a7c7
cmp al, 0x5f
jne 0x48a7dd
test byte [esi + 0x4c], 0x20
je 0x48a7dd
test dword [esi + 0x24], 0x40000000
je 0x48a7dd
mov edx, dword [esi + 0x30]
add dword [esp + 0x28], edx
mov ebx, dword [esp + 0x44]
xor esi, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x28], edi
je 0x48aa41
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
cmp eax, 0x10000
jbe 0x48a816
mov edi, 0x10000
mov dword [esp + 0x14], edi
jmp 0x48a81c
mov edi, eax
mov dword [esp + 0x14], eax
sub eax, edi
push 0
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [esp + 0x34]
push 0
lea eax, [esp + 0x34]
push eax
push edi
lea ecx, [esp + 0x7c4]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x48aa3c
mov ecx, dword [esp + 0x30]
cmp ecx, edi
jne 0x48aa3c
mov dl, byte [esp + 0x7b8]
xor esi, esi
mov eax, ebx
mov dword [esp + 0x20], esi
cmp dl, byte [ebx]
jne 0x48a88c
lea ebp, [esp + 0x7b8]
sub ebp, ebx
inc esi
sub ecx, 1
je 0x48a9f9
mov dl, byte [eax + ebp + 1]
inc eax
cmp dl, byte [eax]
je 0x48a875
mov dword [esp + 0x20], esi
movzx ecx, byte [esp + esi + 0x7b8]
movzx edx, byte [esi + ebx]
lea eax, [esi + ebx]
push ecx
push edx
push eax
push 0x51e00c
mov dword [esp + 0x34], eax
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
cmp dword [esp + 0x2c], 0xa
jge 0x48a9a5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
inc dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
push eax
push ecx
push 0x51e104
lea ebx, [esp + 0x7c4]
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [esp + 0x34]
push 0x10
push edx
call fcn.00489860
mov eax, dword [esp + 0x38]
lea eax, [esp + eax + 0x7d0]
push 0x10
push eax
call fcn.00489860
mov eax, 0xfffffff0
sub eax, dword [esp + 0x40]
add esp, 0x20
add edi, eax
test edi, edi
jle 0x48a9a5
mov edi, edi
mov cl, byte [ebx + esi + 0x10]
lea ebx, [ebx + esi + 0x10]
lea ebp, [esi + ebp + 0x10]
xor esi, esi
mov dword [esp + 0x24], edi
mov eax, ebp
cmp cl, byte [ebp]
jne 0x48a95e
mov ecx, ebx
sub ecx, ebp
inc esi
sub dword [esp + 0x24], 1
je 0x48a9a5
mov dl, byte [ecx + eax + 1]
inc eax
cmp dl, byte [eax]
je 0x48a94d
lea eax, [esi + ebp]
push eax
mov eax, dword [esp + 0x40]
push eax
push 0x51e104
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
lea eax, [esi + ebp]
push 0x10
push eax
call fcn.00489860
lea ecx, [esi + ebx]
push 0x10
push ecx
call fcn.00489860
mov edx, 0xfffffff0
sub edx, esi
add edi, edx
add esp, 0x20
test edi, edi
jg 0x48a930
cmp byte [0x54a134], 0
mov ebx, dword [esp + 0x1c]
je 0x48aa14
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x7bc]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.004898f0
add esp, 0x10
test eax, eax
jne 0x48a9f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51e0f4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov edi, dword [esp + 0x14]
add ebx, edi
cmp dword [esp + 0x28], 0
mov dword [esp + 0x1c], ebx
jne 0x48a800
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x48aa41
mov edx, dword [esp + 0x30]
push edx
lea eax, [esp + 0x7bc]
push eax
push ebx
call fcn.00489970
add esp, 0xc
test eax, eax
jne 0x48a9f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51e0e4
jmp 0x48a9df
mov esi, 0xd
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov ecx, dword [esp + 0x107bc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x107a4]
xor ecx, esp
call fcn.004b6da3
add esp, 0x107b4
ret