Function at 0x463b20
Capabilities:
Get file size

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 4]
push 0
push eax
xor bl, bl
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
push 0
push esi
call fcn.0043fa90
add esp, 8
mov ebp, eax
push esi
push ebp
mov ecx, edi
mov dword [esp + 0x28], ebp
call fcn.004374a0
push esi
push ebp
call fcn.004928e0
add esp, 8
test eax, eax
je 0x463dfa
push 0
push 0
push 0
push str.1.2.34
call fcn.00496670
add esp, 0x10
test eax, eax
mov dword [esp + 0x34], eax
je 0x463dfa
push eax
call fcn.00493180
add esp, 4
test eax, eax
mov dword [esp + 0x1c], eax
je 0x463de6
mov ecx, dword [esp + 0x34]
push 0x463af0
lea eax, [esp + 0x2c]
push eax
push ecx
mov dword [esp + 0x34], ebp
call fcn.0049b120
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.00494bb0
push 0
push 0
push 0
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x48]
push edx
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x40]
push ecx
push edx
push eax
call fcn.0049af90
add esp, 0x38
cmp dword [esp + 0x18], 3
jne 0x463c02
mov ecx, dword [esp + 0x34]
push ecx
call fcn.00496780
add esp, 4
cmp dword [esp + 0x18], 0
mov esi, 8
jne 0x463c21
cmp dword [esp + 0x24], esi
jge 0x463c21
mov edx, dword [esp + 0x34]
push edx
call fcn.00496780
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
push 0x10
push eax
push ecx
call fcn.0049af70
add esp, 0xc
test eax, eax
je 0x463c46
mov edx, dword [esp + 0x34]
push edx
call fcn.00496780
add esp, 4
cmp dword [esp + 0x24], esi
jle 0x463c59
mov eax, dword [esp + 0x34]
push eax
call fcn.00496770
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x463c66
cmp eax, 4
jne 0x463c73
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004967a0
add esp, 4
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x10]
add edx, edx
add edx, edx
push 0
push edx
call fcn.0043fa90
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [eax*4]
push 0
push ecx
call fcn.0043fa90
mov ecx, dword [esp + 0x20]
mov esi, eax
add esp, 0x10
xor eax, eax
test ecx, ecx
jbe 0x463ccb
lea esp, [esp]
sub ecx, eax
sub ecx, 1
imul ecx, dword [esp + 0x14]
lea edx, [ebx + ecx*4]
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x10]
add eax, 1
cmp eax, ecx
jb 0x463cb0
test byte [esp + 0x18], 4
jne 0x463ce3
mov eax, dword [esp + 0x34]
push 1
push 0
push eax
call fcn.00493200
add esp, 0xc
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004931c0
mov edx, dword [esp + 0x38]
push esi
push edx
call fcn.00496360
push 0
push esi
call fcn.0043fae0
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x44]
mov eax, dword [edi]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
add esp, 0x14
push ecx
push edx
mov ecx, edi
call eax
test byte [esp + 0x18], 4
je 0x463e4d
push 0
mov ecx, edi
call fcn.00452790
mov edx, dword [esp + 0x14]
test dl, 3
je 0x463e13
mov ecx, dword [edi + 0xc]
mov eax, edx
imul eax, dword [esp + 0x10]
test eax, eax
mov esi, ebx
jle 0x463d63
jmp 0x463d50
mov edx, dword [esi]
mov dword [ecx], edx
add ecx, 4
add esi, 4
sub eax, 1
jne 0x463d50
mov edx, dword [esp + 0x14]
xor ebp, ebp
cmp dword [esp + 0x10], ebp
jle 0x463dd5
jmp 0x463d70
mov esi, dword [edi + 0x80]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 8]
test ecx, ecx
jge 0x463d82
neg ecx
mov eax, dword [eax + 4]
sub ecx, ebp
add eax, 3
sub ecx, 1
and eax, 0xfffffffc
imul eax, ecx
add eax, dword [esi + 0xc]
mov ecx, dword [edi + 8]
mov esi, dword [ecx + 8]
sub esi, ebp
sub esi, 1
imul esi, dword [ecx + 4]
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + esi*4]
xor esi, esi
test edx, edx
jle 0x463dcc
add ecx, 3
mov dl, byte [ecx]
mov byte [eax], dl
mov byte [ecx], 0
mov edx, dword [esp + 0x14]
add esi, 1
add eax, 1
add ecx, 4
cmp esi, edx
jl 0x463db4
add ebp, 1
cmp ebp, dword [esp + 0x10]
jl 0x463d70
mov ebp, dword [esp + 0x20]
push 0
push ebx
call fcn.0043fae0
add esp, 8
mov bl, 1
push 0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.004966a0
add esp, 0xc
test ebp, ebp
je 0x463e09
push 0
push ebp
call fcn.0043fae0
add esp, 8
pop edi
pop esi
pop ebp
mov al, bl
pop ebx
add esp, 0x1c
ret
imul edx, dword [esp + 0x10]
test edx, edx
mov eax, dword [edi + 0x80]
mov ecx, dword [eax + 0xc]
mov esi, dword [edi + 0xc]
lea eax, [ebx + 3]
jle 0x463dd9
mov edi, ebx
sub edi, eax
mov ebp, edx
mov dl, byte [eax]
mov byte [ecx], dl
mov byte [eax], 0
mov edx, dword [edi + eax]
mov dword [esi], edx
add ecx, 1
add esi, 4
add eax, 4
sub ebp, 1
jne 0x463e31
jmp 0x463dd5
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x10]
test eax, eax
mov edi, dword [edi + 0xc]
mov ecx, ebx
jle 0x463dd9
mov edx, dword [ecx]
mov dword [edi], edx
add edi, 4
add ecx, 4
sub eax, 1
jne 0x463e63
jmp 0x463dd9