Function at 0x410dc0
Capabilities:
Read file on windows

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov esi, ecx
push eax
call fcn.0040ec90
mov ecx, dword [0x659a18]
mov edi, dword [sym.imp.MSVCRT.dll_fread]
push ecx
lea ebp, [esi + 0x14]
push 1
push 1
push ebp
call edi
mov edx, dword [0x659a18]
lea eax, [esi + 0x15]
push edx
push 1
push 1
push eax
call edi
mov ecx, dword [0x659a18]
lea edx, [esi + 0x16]
push ecx
push 1
push 2
push edx
call edi
mov eax, dword [0x659a18]
lea ecx, [esp + 0x58]
push eax
push 1
push 1
push ecx
call edi
mov edx, dword [0x659a18]
add esp, 0x40
lea eax, [esi + 0x19]
push edx
push 1
push 1
push eax
call edi
mov ecx, dword [0x659a18]
lea edx, [esi + 0x1a]
push ecx
push 1
push 2
push edx
call edi
mov eax, dword [0x659a18]
lea ecx, [esi + 0x1c]
push eax
push 1
push 2
push ecx
call edi
mov edx, dword [0x659a18]
lea eax, [esi + 0x1e]
push edx
push 1
push 2
push eax
call edi
mov ecx, dword [0x659a18]
add esp, 0x40
lea edx, [esi + 0x20]
push ecx
push 1
push 0x10
push edx
call edi
mov eax, dword [0x659a18]
push eax
call dword [sym.imp.MSVCRT.dll_ftell]
mov ebx, eax
add esp, 0x14
movsx eax, byte [esp + 0x28]
dec eax
cmp eax, 3
ja case.default.0x410e93
jmp dword [eax*4 + 0x4110d0]
push 0x24
call fcn.00470250
add esp, 4
test eax, eax
je 0x410eff
push 0
push ebx
mov ecx, eax
call fcn.004bac90
jmp 0x410f01
push 0x298
call fcn.00470250
add esp, 4
test eax, eax
je 0x410eff
push ebx
mov ecx, eax
call fcn.004baf10
jmp 0x410f01
push 0x1c
call fcn.00470250
add esp, 4
test eax, eax
je 0x410eff
push ebx
mov ecx, eax
call fcn.004ba9e0
jmp 0x410f01
push 0x20
call fcn.00470250
add esp, 4
test eax, eax
je 0x410eff
push ebx
mov ecx, eax
call fcn.004bb700
jmp 0x410f01
xor eax, eax
mov dword [esi + 0x30], eax
mov byte [esi + 0x18], 0
mov eax, dword [0x659958]
cmp eax, 0x18
jl 0x410f47
mov ecx, dword [0x659a18]
lea edx, [esi + 0x34]
push ecx
push 1
push 0x10
push edx
call edi
mov eax, dword [0x659a18]
lea ecx, [esi + 0x48]
push eax
push 1
push 4
push ecx
call edi
mov edx, dword [0x659a18]
lea eax, [esi + 0x44]
push edx
push 1
push 4
push eax
call edi
add esp, 0x30
cmp dword [0x659958], 0x19
jl 0x411064
mov ecx, dword [0x659a18]
lea edx, [esi + 0x4c]
push ecx
push 1
push 0x20
push edx
call edi
mov eax, dword [0x659a18]
lea ebx, [esi + 0x6c]
push eax
push 1
push 0x10
push ebx
call edi
mov ecx, dword [0x659a18]
lea edx, [esi + 0x7c]
push ecx
push 1
push 4
push edx
call edi
mov eax, dword [0x659a18]
lea ecx, [esi + 0x80]
push eax
push 1
push 0x20
push ecx
call edi
mov edx, dword [0x659a18]
add esp, 0x40
lea eax, [esi + 0xa0]
push edx
push 1
push 4
push eax
call edi
mov ecx, dword [0x659a18]
lea edx, [esp + 0x20]
push ecx
push 1
push 4
push edx
call edi
mov eax, dword [0x659a18]
lea ecx, [esp + 0x34]
push eax
push 1
push 0x10
push ecx
call edi
mov edx, dword [0x659a18]
lea eax, [esi + 0xac]
push edx
push 1
push 4
push eax
call edi
movsx ecx, byte [ebp]
mov eax, dword [0x659a4c]
add esp, 0x40
test ecx, eax
je 0x411001
mov edx, dword [esp + 0x10]
mov dword [esi + 0xa4], edx
mov eax, dword [0x659a34]
mov ecx, dword [esi + 0xa4]
test eax, ecx
je 0x411036
push 0x24
call fcn.00470250
add esp, 4
test eax, eax
je 0x41102e
lea ecx, [esp + 0x14]
push 1
push ecx
mov ecx, eax
call fcn.00489020
jmp 0x411030
xor eax, eax
mov dword [esi + 0xa8], eax
movsx edx, byte [ebp]
test dword [0x659a44], edx
je 0x411064
push 0x24
call fcn.00470250
add esp, 4
test eax, eax
je 0x41105c
push 1
push ebx
mov ecx, eax
call fcn.00489020
jmp 0x41105e
xor eax, eax
mov dword [esi + 0xb0], eax
movsx ecx, byte [ebp]
lea eax, [esi + 0x34]
mov dword [esi + 0xc0], eax
mov eax, dword [0x659a40]
test ecx, eax
je 0x41108e
mov edx, dword [0x659a3c]
mov eax, dword [esi + 0xbc]
or eax, edx
mov dword [esi + 0xbc], eax
add esi, 0x4c
mov ecx, esi
call fcn.0040eba0
mov esi, dword [esi]
mov eax, esi
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
and esi, 0x8000001f
lea eax, [eax*4 + 0x5c48c4]
jns 0x4110b9
dec esi
or esi, 0xffffffe0
inc esi
mov ecx, dword [esi*4 + 0x659a34]
mov edx, dword [eax]
pop edi
or edx, ecx
pop esi
pop ebp
mov dword [eax], edx
pop ebx
add esp, 0x14
ret 4