Function at 0x4cb30d
Capabilities:
Read file on windows

Disassembly:
arpl word [ebx + 0x607973fe], ax
dec eax
dec esi
ret
push esp
imul cx, word [esi + 0x49], 0x7b5a
js 0x4cb2d3
pop ecx
outsd dx, dword [esi]
inc edx
push ecx
insd dword es:[edi], dx
imul eax, dword [ebp + 0x4d], 0x5d
push esp
push 0x475a586f
push ebx
outsb dx, byte [esi]
bound esp, qword [edx + 0x50]
push edx
popal
push 0x6d
pop esp
push esp
dec eax
push ecx
inc edx
dec edx
push 0x54
outsd dx, dword [esi]
imul eax, dword [esi + 0x79], 0x53
inc esi
popal
push 0x16
pushfd
call 0x4cb2bd
mov word [esp], cs
call 0x4cb312
push edi
inc eax
push esp
outsb dx, byte [esi]
mov edi, edi
pop ebx
pop edx
bound edi, qword [ebx]
ja 0x4cb2d5
pop ecx
mov byte [ebp - 3], ah
std
push ebx
push eax
cmp edx, eax
je 0x4cb30f
mov eax, dword [ebp + 0x18]
je 0x4cb2e8
push ecx
jns 0x4cb26c
sbb al, 0x10
push eax
mov dword [ebp - 0x24], eax
imul ecx, dword [eax + 0x4e], 0x55
inc ebp
fsubr qword [ebx + 0x48]
dec esi
push ebp
dec esi
add byte [edx + 0x6f], dl
mov eax, edi
inc ebx
imul ecx, dword [edi + 0x55], 0x47525059
dec ebp
inc edi
mov dword [esp + 0x10], edx
push edi
pop ebp
inc ecx
pop esi
bound ebx, qword [edi + edi*8 + 0x75]
adc byte [eax + 0x54], bh
mov edi, edi
push ebx
add dword [esp], 0x1daf
cmp esi, 0x6acf918e
jne 0x4cb31d
iretd
push edi
js 0x4cb37d
outsb dx, byte [esi]
inc esi
push esp
push ebx
jns 0x4cb2b4
inc ebp
clc
test eax, eax
or dword [edi], 0xffffffff
movzx eax, bl
sete al
je 0x4cb3cc
imul ebx, dword [ecx + 0x53], 0x4c
push edx
call fcn.004bd5e8
xor eax, eax
call fcn.004cc52d
outsb dx, byte [esi]
pop esi
inc ebx
push edi
inc bp
inc edi
pop eax
push esi
je 0x4cb3c1
jmp 0x4cb3d5
rcl byte [ecx - 0x3d], 0x8d
and al, 8
pop ebp
jmp 0x4cb38f
add byte [eax], al
push ax
lahf
lock xchg word [esp], ax
push ebp
call fcn.004cb416
lea esi, [ecx + 8]
ret
arpl word [ebx + 0x4e], bp
inc edx
xor ecx, ebp
sub esp, 0x10
inc ebp
dec ecx
inc edi
pushal
jns 0x4cb444
or byte [eax - 0x4a7410a3], cl
hlt
out dx, eax
mov esi, dword [ebp - 0x10c]
dec eax
bound ebp, qword [ecx + 0x53]
or eax, 0xffffffff
pop ecx
jnp 0x4cb453
push eax
pop esi
dec ecx
push eax
je 0x4cb412
push edi
dec al
mov ecx, edx
je 0x4cb491
test al, al
inc esi
push ebp
je 0x4cb425
shr eax, 2
pop esp
inc esp
or eax, edx
push esi
jns 0x4cb449
div ecx
cmp dword [ebp + 8], 0
push esp
pop edx
dec esi
dec esp
dec edi
inc ecx
inc ebx
ret
and al, 0xba
out dx, eax
add byte [eax], al
add byte [edi], cl
inc ebp
push esp
and al, 0xa
add edx, ebp
mov dword [esp + 0xa], edx
mov edx, dword [esp]
lea esp, [esp + 4]
pop ebp
lock xchg word [esp], ax
sahf
pop ax
ret
pop eax
pop eax
mov eax, dword [ebp - 0x10]
push ebx
pop edx
jmp 0x2bc23ff2
jne 0x4cb480
jmp 0x4cb661
pop eax
dec eax
bound ecx, qword [ebx + 0x581e40ce]
inc ebx
ret
in al, 0x8d
rcr edi, 1
insd dword es:[edi], dx
cmove eax, ecx
mov ecx, esi
cmp ecx, 0x6925103f
cmove ecx, ebp
call 0x4cb4f5
mov dword [ebp - 0x748], edi
pop eax
push ebp
inc ecx
jnp 0x4cb501
pop esi
mov bl, byte [eax]
push edx
add eax, dword [eax]
dec edx
dec esp
mov edx, dword [bx + di - 4]
jnp 0x4cb517
push ebp
dec ebx
pop edx
outsd dx, dword [esi]
inc esi
bound eax, qword [0x45437b00]
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [0x36ff0041]
push ebx
mov byte [eax + edi + 0x2a], dl
dec edx
push 0xfff8835b
lea eax, [ebp - 0x28]
jnp 0x4cb542
push cx
bound eax, qword [edx - 0x3d]
push edi
pop eax
pop edx
mov bl, 0xe0
arpl word [ebp - 1], bx
xor al, 0x24
add dword [esp], 0xfff3a717
add dword [esp + 4], 0xbb
ret
inc esp
and al, 4
mov ebx, 0xc3000000
outsb dx, byte [esi]
push ebp
push edi
push ebp
popal
inc edx
push ecx
outsd dx, dword [esi]
jnp 0x4cb562
inc edi
dec ebp
push edx
push 0x58
push ebp
dec eax
outsd dx, dword [esi]
pop ebx
inc eax
inc esp
insd dword es:[edi], dx
push ebp
inc edx
inc esi
inc ebx
pop ecx
push edx
dec eax
imul edx, dword [esi + 0x44], 0x42
dec ebx
push 0x40
inc esp
inc ebx
pop esp
inc esp
pop edi
imul edx, dword [ecx + 0x4d], 0x65494d56
dec ebx
push edx
imul ebp, dword [esi + 0x4e], 0x61416542
inc ecx
popal
push edx
inc ecx
push ebp
push esi
inc ebp
pop ebx
inc ebp
push edi
insd dword es:[edi], dx
push esp
jnp 0x4cb5bc
inc edi
js 0x4cb595
outsd dx, dword [esi]
push esi
inc esp
inc esp
push ebp
push esp
dec esi
push edx
inc ebx
pop edi
dec edi
inc esp
pushal
dec ecx
pop esi
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edx, dword [esi + 0xc]
mov ebx, dword [edx + 8]
cmp ebx, 0xfde9
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
push 0x53b
pushfd
call 0x4cb587
mov dword [esp], edi
call fcn.004cb5b8
lea ecx, [ebp - 0x310]
inc ebx
push 0x5c
push eax
dec edx
jns 0x4cb5e4
ret
lea esp, [esp + 4]
push ebp
mov ebp, 0x68
cmovne ebp, dword [esp + 0xc]
add ebp, edi
lock xchg dword [esp + 0xc], ebp
pop ebp
pop edi
popfd
ret
lea eax, [esi + 8]
pop ebx
mov ebp, dword [ebx + 4]
dec edx
imul edi, dword [bp + di], 0x4217e805
add byte [ebp + eax + 0x51], dh
cmp edi, 0x79f9f0e5
jne 0x4cb636
add byte [eax], al
pop edx
jnp 0x4cb673
push 0x43484f56
js 0x4cb685
outsb dx, byte [esi]
dec eax
push 0x60544841
jnp 0x4cb65e
pop ebx
inc edi
pop esi
push edi
push ebx
jns 0x4cb666
pop ebx
pop esi
jns 0x4cb68d
push ebp
dec ebx
pop ecx
popal
push edx
dec esi
inc edx
pushal
pop ebp
pop edx
dec ebx
push ecx
pop ebx
bound ecx, qword [ebx + 0x67]
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
insd dword es:[edi], dx
pop eax
push esi
lea eax, [ebp - 0xc]
cmp dword [esp + 0x10], 0x7ecb4d47
cmove ebx, ebp
xor edi, edi
cmp ecx, 0xe6f74ca5
jne 0x4cb67c
push ebp
pop edi
pop edi
dec edi
push edx
dec esp
push ebx
dec ebx
jns 0x4cb6bf
pop esi
pop esi
js 0x4cb6c7
dec edi
dec edi
inc esp
pop ebp
push ecx
push ecx
inc eax
push ebx
bound esp, qword [ebx + 0x59]
dec ebp
arpl word [edi + 0x79], ax
popal
js 0x4cb6c2
dec ebx
inc edi
pop ecx
outsd dx, dword [esi]
pop esp
dec ecx
insb byte es:[edi], dx
push edx
dec ebp
push eax
cmp dword [esp - 0x10], 0xfae11e5b
cmove edi, edx
movzx eax, word [ebp + 0x14]
cmp edi, 0x2b44d329
cmove edi, edi
push eax
cmp ebx, 0xc6ad8c2d
cmove ecx, edx
push ecx
mov dword [ebp - 0xc], edi
cmp dword [esp - 0x20], 0xefd33887
je 0x4c1c14
jmp [ecx]
mov dword [ebp - 8], edi
cmp dword [esp + 0x78], 0x3337ecb1
jne 0x4cb6fb
add byte [eax], al
add byte [eax + 0x4d], al
inc eax
dec ebp
pop ebp
inc ecx
jns 0x4cb727
insb byte es:[edi], dx
push ebx
pushaw
push ecx
jns 0x4cb726
dec ebx
pushal
push ebp
pop ebp
bound ebx, qword [ecx + 0x62]
inc ebx
js 0x4cb726
pop ecx
push 0x634d5563
push edx
push 0x4d
dec ebx
inc eax
pop eax
pushal
dec eax
push 0x54475e6d
imul esp, dword [ebp + 0x63], 0x66
popal
pop ebp
pop ebx
arpl word [edi + 0x41], bp
popal
push ebp
pop ecx
call fcn.005243d0
cmp dword [esp + 0xc], 0xd1d9a0b5
jne 0x4cb746
mov ecx, 0xf
insb byte es:[edi], dx
dec esi
dec ecx
push eax
arpl word [ecx - 0x76], di
ret
insd dword es:[edi], dx
pop ecx
dec ecx
push ebp
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
bound eax, qword [ebx - 0x874fe08]
call dword [sym.imp.KERNEL32.dll_GetLastError]
or eax, 2
inc eax
pop edx
fcom st(1)
dec eax
push edi
add esp, 0x10
test ebx, ebx
push 0xf2
push ax
lahf
lock xchg word [esp], ax
push edi
call 0x4cb7a6
inc esi
inc edi
pop ecx
push ebp
push di
push dx
mov eax, dword [ebp - 0x3a4]
xchg esp, eax
pop es
push edi
pop ecx
push eax
inc eax
pop esi
fld st(0)
push ebp
inc ebx
js 0x4cb7d5
imul ecx, dword [edi + 0x57], 0xffff3de8
call [ecx + 0x50]
pop esi
inc ebx
pop ebx
mov byte [esi + 0x14], 0
pop ecx
inc esi
push 0x84574e4f
ror byte [esi + 0x65], 0x39
dec ebp
or al, 0x8b
add dword [eax + 0x51], esp
push 0
jns 0x4cb759
adc byte [eax], al
add byte [eax], al
dec eax
inc eax
inc edx
lock xchg dword [esp], edi
lea esp, [esp + 4]
push esi
mov esi, pe_nt_image_headers32
cmove esi, dword [esp + 0xa]
add edi, esi
mov dword [esp + 0xa], edi
lock xchg dword [esp], esi
lea esp, [esp + 4]
lock xchg dword [esp], edi
lea esp, [esp + 4]
lock xchg word [esp], ax
sahf
mov ax, word [esp]
lea esp, [esp + 2]
ret