Function at 0x433b29
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
call fcn.00433adf
xor ebx, ebx
push ebx
lea eax, [ebp - 0x38]
push eax
push ebx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x433f54
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x433f54
cmp dword [ebp - 0x34], ebx
ja 0x433f4b
mov ecx, dword [ebp - 0x38]
jb 0x433b89
cmp ecx, 0xffffff
ja 0x433f4b
mov eax, ecx
cdq
mov edi, ecx
cmp eax, ecx
jne 0x433b97
cmp edx, dword [ebp - 0x34]
je 0x433bc0
lea ecx, [ebp - 0x30]
call fcn.00476b94
push 1
push 2
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x30]
call fcn.00476ce2
lea ecx, [ebp - 0x30]
call fcn.00476ad6
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x433bb7
inc ecx
push 0x4c78f8
push ecx
mov dword [ebp - 4], 0x8007000e
call fcn.00457cf1
mov esi, eax
pop ecx
pop ecx
mov dword [ebp - 0x18], esi
cmp esi, ebx
je 0x433f62
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x433c1c
push 0
lea eax, [ebp - 0x1c]
push eax
push edi
push esi
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x433c0b
call fcn.0043506f
mov dword [ebp - 4], eax
jmp 0x433f42
cmp dword [ebp - 0x1c], edi
jbe 0x433c1c
mov dword [ebp - 4], 0x80047837
jmp 0x433f42
and dword [ebp - 8], ebx
and dword [ebp + 0xc], ebx
mov eax, dword [ebp - 0x1c]
push 4
pop ebx
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0x80047838
mov edi, 0x4acec8
cmp eax, ebx
jb 0x433c6e
push ebx
push 0x4acec0
push esi
call fcn.00452fad
add esp, 0xc
test eax, eax
je 0x433f42
push ebx
push 0x4acec4
push esi
call fcn.00452fad
add esp, 0xc
test eax, eax
jne 0x433c6e
mov dword [ebp - 8], 0x4acec4
jmp 0x433c89
cmp dword [ebp - 0xc], 2
jb 0x433cab
push 2
pop ebx
push ebx
push edi
push esi
call fcn.00452fad
add esp, 0xc
test eax, eax
jne 0x433c8e
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], ebx
jmp 0x433cd0
push ebx
mov ebx, 0x4acecc
push ebx
push esi
call fcn.00452fad
add esp, 0xc
test eax, eax
jne 0x433cab
mov dword [ebp + 0xc], 2
jmp 0x433ccd
cmp dword [ebp - 0xc], 3
jb 0x433cd0
push 3
mov ebx, 0x4aced0
push ebx
push esi
call fcn.00452fad
add esp, 0xc
test eax, eax
jne 0x433cd0
mov dword [ebp + 0xc], 3
mov dword [ebp - 8], ebx
mov edx, dword [ebp - 8]
cmp edx, 0x4acec0
je 0x433f42
cmp edx, 0x4acec4
je 0x433f42
mov ecx, dword [ebp - 0xc]
mov byte [esi + ecx], 0
mov ebx, 0x4acecc
cmp edx, edi
je 0x433cff
cmp edx, ebx
jne 0x433d13
mov eax, ecx
and eax, 0x80000001
jns 0x433d0d
dec eax
or eax, 0xfffffffe
inc eax
je 0x433d13
inc ecx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0xc]
cmp edx, edi
je 0x433d2e
cmp edx, ebx
jne 0x433d52
jmp 0x433d41
cmp word [eax + esi], 0
jne 0x433d2c
mov byte [eax + esi + 1], 0x3f
inc eax
inc eax
cmp eax, ecx
jl 0x433d20
jmp 0x433d56
cmp word [eax + esi], 0
jne 0x433d3f
mov byte [eax + esi], 0x3f
inc eax
inc eax
cmp eax, ecx
jl 0x433d34
jmp 0x433d56
cmp byte [eax + esi], 0
jne 0x433d51
mov byte [eax + esi], 0x3f
inc eax
cmp eax, ecx
jl 0x433d47
cmp edx, edi
je 0x433d85
cmp edx, ebx
je 0x433d85
mov eax, dword [ebp - 8]
neg eax
sbb eax, eax
and eax, 0xfde9
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 0xc]
add eax, esi
push eax
call fcn.00434eb5
mov ebx, dword [ebp - 0x28]
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x433dff
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp + 0xc]
push 0x4c78f8
cdq
sub eax, edx
mov esi, eax
sar esi, 1
xor ecx, ecx
push 2
pop edx
lea eax, [esi + 1]
mul edx
seto cl
mov dword [ebp - 4], 0x8007000e
neg ecx
or ecx, eax
push ecx
call fcn.00457cf1
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x433dff
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
xor ecx, ecx
add eax, edx
mov dword [ebp - 4], ecx
cmp dword [ebp - 8], edi
jne 0x433de7
cmp esi, ecx
jle 0x433df9
mov dx, word [eax]
inc eax
rol dx, 8
inc eax
mov word [ebx + ecx*2], dx
inc ecx
cmp ecx, esi
jl 0x433dd3
jmp 0x433df9
cmp esi, ecx
je 0x433df9
lea ecx, [esi + esi]
push ecx
push eax
push ebx
call fcn.00450c90
add esp, 0xc
xor eax, eax
mov word [ebx + esi*2], ax
push dword [ebp - 0x18]
call fcn.0044fdab
xor edi, edi
xor esi, esi
cmp dword [ebp - 4], edi
pop ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], esi
jl 0x433f38
lea eax, [ebx + esi*2]
mov dword [ebp - 0x2c], eax
movzx eax, word [eax]
cmp ax, di
je 0x433eda
movzx eax, ax
push eax
call fcn.00433ab2
pop ecx
test al, al
jne 0x433e51
inc esi
movzx eax, word [ebx + esi*2]
cmp ax, di
jne 0x433e3c
movzx eax, word [ebx + esi*2]
cmp ax, 0xd
jne 0x433e6d
inc esi
cmp word [ebx + esi*2], 0xa
jne 0x433e68
inc dword [ebp - 0x24]
jmp 0x433e7e
inc dword [ebp - 0x14]
jmp 0x433e84
cmp ax, 0xa
jne 0x433e84
inc esi
cmp word [ebx + esi*2], 0xd
jne 0x433e81
inc dword [ebp - 0x20]
inc esi
jmp 0x433e84
inc dword [ebp - 0xc]
push 0x4c78f8
push 0x38
call fcn.00457cc2
pop ecx
pop ecx
cmp eax, edi
je 0x433ea0
call fcn.00434599
mov dword [ebp - 0x10], eax
jmp 0x433ea3
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], edi
jne 0x433eb1
mov dword [ebp - 4], 0x8007000e
jmp 0x433ece
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov edi, esi
sub edi, dword [ebp - 0x28]
call fcn.004345b8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
call fcn.00435209
xor edi, edi
cmp dword [ebp - 4], edi
mov dword [ebp - 0x28], esi
jge 0x433e27
cmp dword [ebp - 4], edi
jl 0x433f38
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x10], 0x4acedc
cmp ecx, edx
jbe 0x433f12
cmp ecx, dword [ebp - 0x14]
jbe 0x433f12
cmp ecx, dword [ebp - 0xc]
jbe 0x433f12
mov dword [eax + 0x10], 0x4acee4
jmp 0x433f33
mov ecx, dword [ebp - 0x14]
cmp ecx, edx
jbe 0x433f27
cmp ecx, dword [ebp - 0xc]
jbe 0x433f27
mov dword [eax + 0x10], 0x4aced4
jmp 0x433f33
cmp dword [ebp - 0xc], edx
jbe 0x433f33
mov dword [eax + 0x10], 0x4aced8
mov dword [eax + 0x14], ebx
xor ebx, ebx
push ebx
call fcn.0044fdab
mov esi, dword [ebp - 0x18]
pop ecx
push esi
call fcn.0044fdab
pop ecx
jmp 0x433f5c
mov dword [ebp - 4], 0x80047836
jmp 0x433f62
call fcn.0043506f
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x433f6a
mov edi, dword [ebp + 8]
call fcn.00433adf
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 8