Function at 0x4110a0
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x2f84
call fcn.0042e520
push ebx
push ebp
push esi
push edi
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x484]
mov edx, dword [esp + 0x2f9c]
rep stosd dword es:[edi], eax
mov ecx, 0x100
lea edi, [esp + 0x84]
rep stosd dword es:[edi], eax
mov ecx, 0x9c4
lea edi, [esp + 0x884]
rep stosd dword es:[edi], eax
mov ecx, 0xc
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], ecx
xor ebx, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], ecx
push 0x431dcc
push edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], ecx
call dword [0x472ec4]
mov ebp, eax
add esp, 8
cmp ebp, ebx
mov dword [esp + 0x14], ebp
jne 0x41115a
push 1
push 0x30006
push 0xa8000004
call dword [0x472f68]
add esp, 0xc
mov cl, byte [esp + 0x2fac]
mov eax, dword [esp + 0x2fa4]
cmp cl, 1
mov esi, eax
je 0x4111b1
cmp eax, ebx
jne 0x4111b1
cmp cl, 2
jne 0x411182
mov dword [esp + 0x10], 0x43633
jmp 0x4111ad
cmp cl, 3
jne 0x411191
mov dword [esp + 0x10], 0x1ce22
jmp 0x4111ad
cmp cl, 4
jne 0x4111a0
mov dword [esp + 0x10], 0x9a066
jmp 0x4111ad
cmp cl, 5
jne 0x4111b1
mov dword [esp + 0x10], 0x4d044
mov esi, dword [esp + 0x10]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x484]
rep stosd dword es:[edi], eax
mov dword [esp + 0x3c], eax
mov byte [esp + 0x3c], 2
mov dword [esp + 0x40], eax
mov byte [esp + 0x3d], 0x36
mov dword [esp + 0x44], eax
mov byte [esp + 0x3e], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov ebx, dword [sym.imp.MSVCRT.dll_fseek]
push 0
push esi
push ebp
call ebx
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x490]
push ebp
rep stosd dword es:[edi], eax
push 0xc
lea ecx, [esp + 0x498]
push 1
push ecx
call dword [sym.imp.MSVCRT.dll_fread]
mov al, byte [esp + 0x4a0]
add esp, 0x1c
cmp al, 0x3a
jne 0x411653
inc esi
push 0
push esi
push ebp
mov dword [esp + 0x1c], esi
call ebx
xor edx, edx
mov ecx, 0x100
mov dword [esp + 0x2c], edx
xor eax, eax
mov dword [esp + 0x30], edx
lea edi, [esp + 0x490]
mov dword [esp + 0x34], edx
push ebp
rep stosd dword es:[edi], eax
push 1
lea eax, [esp + 0x34]
mov dword [esp + 0x40], edx
push 0xc
push eax
mov dword [esp + 0x4c], edx
call dword [sym.imp.MSVCRT.dll_fread]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add esp, 0x1c
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], edx
mov dword [esp + 0x48c], eax
xor ecx, ecx
mov al, byte [esp + ecx + 0x20]
cmp al, 0x40
jbe 0x41129c
cmp al, 0x61
jae 0x41129c
sub al, 0x37
jmp 0x4112aa
cmp al, 0x2f
jbe 0x4112a8
cmp al, 0x3a
jae 0x4112a8
sub al, 0x30
jmp 0x4112aa
sub al, 0x57
mov byte [esp + ecx + 0x20], al
inc ecx
cmp ecx, 0xc
jl 0x41128c
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x21]
mov al, byte [esp + 0x48b]
and ebx, 0xff
shl ebx, 4
and ecx, 0xff
add ebx, ecx
cmp al, 0x30
jne 0x41142c
add esi, 8
push 0
push esi
push ebp
mov dword [esp + 0x1c], esi
call dword [sym.imp.MSVCRT.dll_fseek]
lea esi, [ebx + ebx]
push ebp
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x494]
push 1
lea edx, [esp + 0x498]
push esi
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x1c
xor ecx, ecx
test esi, esi
jle 0x411348
mov al, byte [esp + ecx + 0x484]
cmp al, 0x40
jbe 0x41132e
cmp al, 0x61
jae 0x41132e
sub al, 0x37
jmp 0x41133c
cmp al, 0x2f
jbe 0x41133a
cmp al, 0x3a
jae 0x41133a
sub al, 0x30
jmp 0x41133c
sub al, 0x57
mov byte [esp + ecx + 0x484], al
inc ecx
cmp ecx, esi
jl 0x41131b
xor ebp, ebp
test ebx, ebx
jle 0x411415
lea esi, [esp + 0x485]
mov al, byte [esi - 1]
mov cl, byte [esi]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x2f98]
shl al, 4
add al, cl
mov ecx, dword [esp + 0x18]
mov byte [edi + edx], al
mov byte [esp + ecx + 0x884], al
mov eax, dword [esp + 0x2fa8]
inc ecx
inc edi
cmp edi, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], edi
jg 0x411409
cmp ecx, dword [esp + 0x2fa0]
jne 0x4113fc
lea eax, [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x88c]
push 0x472b60
push ecx
call fcn.004164e0
mov edx, dword [esp + 0x2fb8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2fbc]
push edx
push edi
and eax, 0xff
push 5
push eax
call fcn.00411d10
mov eax, dword [esp + 0x3c]
add esp, 0x20
test eax, eax
jl 0x4116ed
mov ecx, 0x9c4
xor eax, eax
lea edi, [esp + 0x884]
mov dword [esp + 0x18], eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x38]
mov ecx, eax
cmp edi, dword [esp + 0x2fa8]
je 0x411659
inc ebp
add esi, 2
cmp ebp, ebx
jl 0x411359
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
lea edx, [ecx + ebx*2 + 2]
mov dword [esp + 0x10], edx
mov esi, edx
jmp 0x4111e4
cmp al, 0x32
je 0x41144b
cmp al, 0x34
je 0x41144b
cmp al, 0x31
je 0x4116b8
lea eax, [esi + ebx*2 + 0xa]
mov dword [esp + 0x10], eax
mov esi, eax
jmp 0x4111e4
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x50]
push ecx
push 0
stosw word es:[edi], ax
call fcn.00402900
lea ebp, [esi + ebx*2 + 0xc]
mov esi, dword [esp + 0x1c]
push 0
push ebp
push esi
call dword [sym.imp.MSVCRT.dll_fseek]
push esi
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x9c]
push 1
lea edx, [esp + 0xa0]
push 0xc
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x24
xor ecx, ecx
mov al, byte [esp + ecx + 0x84]
cmp al, 0x40
jbe 0x4114b3
cmp al, 0x61
jae 0x4114b3
sub al, 0x37
jmp 0x4114c1
cmp al, 0x2f
jbe 0x4114bf
cmp al, 0x3a
jae 0x4114bf
sub al, 0x30
jmp 0x4114c1
sub al, 0x57
mov byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0xc
jl 0x4114a0
mov al, byte [esp + 0x86]
mov cl, byte [esp + 0x87]
mov dl, byte [esp + 0x89]
shl al, 4
add al, cl
mov cl, byte [esp + 0x88]
shl cl, 4
add cl, dl
mov dl, byte [esp + 0x2a]
mov byte [esp + 0x53], al
mov al, byte [esp + 0x2b]
shl dl, 4
mov byte [esp + 0x54], cl
mov ecx, dword [esp + 0x54]
add dl, al
mov eax, dword [esp + 0x53]
and eax, 0xff
and ecx, 0xff
shl eax, 8
mov byte [esp + 0x52], dl
mov esi, dword [esp + 0x52]
add eax, ecx
mov cl, byte [esp + 0x48b]
and esi, 0xff
cmp cl, 0x34
jne 0x411616
push 0
push ebp
mov ebp, dword [esp + 0x1c]
push ebp
call dword [sym.imp.MSVCRT.dll_fseek]
push ebp
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x94]
push 1
lea edx, [esp + 0x98]
push 8
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.MSVCRT.dll_fread]
mov al, byte [esp + 0xa7]
add esp, 0x1c
cmp al, 0x30
je 0x411595
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], esi
lea ecx, [eax + ebx*2 + 0xa]
mov dword [esp + 0x10], ecx
mov esi, ecx
jmp 0x4111e4
mov ecx, 2
mov al, byte [esp + ecx + 0x84]
cmp al, 0x40
jbe 0x4115ad
cmp al, 0x61
jae 0x4115ad
sub al, 0x37
jmp 0x4115bb
cmp al, 0x2f
jbe 0x4115b9
cmp al, 0x3a
jae 0x4115b9
sub al, 0x30
jmp 0x4115bb
sub al, 0x57
mov byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 6
jl 0x41159a
mov dl, byte [esp + 0x86]
mov al, byte [esp + 0x88]
mov bl, byte [esp + 0x87]
mov cl, byte [esp + 0x89]
shl dl, 4
shl al, 4
add dl, bl
add al, cl
mov byte [esp + 0x53], dl
mov byte [esp + 0x54], al
mov ecx, dword [esp + 0x53]
mov edx, dword [esp + 0x54]
shl esi, 8
and ecx, 0xff
and edx, 0xff
add esi, ecx
shl esi, 8
add esi, edx
jmp 0x411626
mov ecx, dword [esp + 0x34]
shl ecx, 0xc
add ecx, esi
shl ecx, 4
add ecx, eax
mov esi, ecx
xor eax, eax
mov ecx, 0x10
mov edx, esi
sar edx, cl
sub ecx, 8
inc eax
cmp ecx, 0xfffffff0
mov byte [esp + eax + 0x51], dl
jg 0x41162d
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x34], 0
jmp 0x4111e4
inc esi
jmp 0x4111e4
test ecx, ecx
je 0x41167c
lea eax, [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x88c]
push 0x472b60
push ecx
call fcn.004164e0
add esp, 0x10
mov esi, eax
jmp 0x411680
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x2fa8]
mov eax, dword [esp + 0x2fac]
push edx
push edi
and eax, 0xff
push 5
push eax
call fcn.00411d10
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2f84
ret
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4116df
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x884]
push ecx
push eax
push 0x472b60
push edx
call fcn.004164e0
add esp, 0x10
mov dword [esp + 0x1c], eax
push ebp
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x20]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2f84
ret