Function at 0x4635c0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x15c
push ebx
mov ebx, dword [esp + 0x168]
push ebp
xor eax, eax
push esi
push edi
cmp dword [esp + 0x17c], eax
jne 0x4635f1
lea esp, [esp]
mov cl, byte [eax + 0x912d50]
mov byte [esp + eax + 0x60], cl
inc eax
test cl, cl
jne 0x4635e0
jmp 0x463600
mov cl, byte [eax + 0x912c4c]
mov byte [esp + eax + 0x60], cl
inc eax
test cl, cl
jne 0x4635f1
lea edi, [esp + 0x60]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x463605
mov ax, word [0x4c76dc]
mov word [edi], ax
mov eax, dword [esp + 0x170]
mov ecx, eax
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x463620
lea edi, [esp + 0x60]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x463630
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x60]
push 0x4c70fc
push ecx
call fcn.0048466b
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x46383d
push 0x4c709c
push ebx
call fcn.00483f10
mov edi, eax
add esp, 8
test edi, edi
je 0x463679
inc edi
jmp 0x46367e
mov edi, 0x4c75ab
push ebp
push 1
lea edx, [esp + 0x38]
push 4
push edx
call fcn.00484992
add esp, 0x10
xor esi, esi
cmp esi, dword [esp + 0x30]
push ebp
jge 0x463835
push 4
lea eax, [esp + 0x30]
push 1
push eax
call fcn.00484992
push ebp
push 1
lea ecx, [esp + 0x38]
push 4
push ecx
call fcn.00484992
push ebp
push 1
lea edx, [esp + 0x4c]
push 4
push edx
call fcn.00484992
lea eax, [esp + 0x58]
push edi
push eax
inc esi
call fcn.0048398d
add esp, 0x38
test eax, eax
jne 0x463692
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x463834
lea ecx, [esp + 0x34]
sub ebx, ecx
mov dword [esp + 0x2c], ebx
jmp 0x463700
mov edx, dword [esp + 0x18]
add eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
imul eax, eax, 0x15
add eax, dword [esp + 0x24]
push 0
push eax
push ebp
call fcn.004853aa
push ebp
push 0xd
lea eax, [esp + 0x64]
push 1
push eax
call fcn.00484992
push ebp
push 1
lea ecx, [esp + 0x6c]
push 4
push ecx
call fcn.00484992
push ebp
push 1
lea edx, [esp + 0x80]
push 4
push edx
call fcn.00484992
add esp, 0x3c
xor eax, eax
mov cl, byte [esp + eax + 0x50]
mov byte [esp + eax + 0x34], cl
inc eax
test cl, cl
jne 0x463751
lea edi, [esp + 0x34]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x463763
mov ax, word [0x4c709c]
mov word [edi], ax
lea eax, [esp + 0x28]
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x463780
lea edi, [esp + 0x34]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x463790
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [esp + 0x34]
lea esp, [esp]
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx + esi]
mov bl, byte [esi]
test al, al
jne 0x4637eb
test bl, bl
jne 0x4637ef
mov ecx, dword [esp + 0x4c]
push 0
push ecx
push ebp
call fcn.004853aa
mov eax, dword [esp + 0x184]
mov edx, dword [esp + 0x54]
mov dword [eax], edx
add esp, 0xc
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x15c
ret
test bl, bl
je 0x463811
movsx edx, al
push edx
call fcn.0048571d
mov edi, eax
movsx eax, bl
push eax
call fcn.0048571d
add esp, 8
sub eax, edi
jne 0x46380d
inc esi
jmp 0x4637b0
test eax, eax
jge 0x46381c
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], ecx
jmp 0x463825
mov edx, dword [esp + 0x1c]
dec edx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], eax
jg 0x463834
jmp 0x463700
push ebp
call fcn.004854f7
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x15c
ret