Function at 0x4101b2
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x4a4100]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
xor esi, esi
mov dword [ebp - 0x78], edx
push edi
push 0x48f654
push eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x4c], esi
call fcn.0046169c
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4101fd
inc esi
jmp 0x410698
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x410218
push esi
push ebx
push edi
call fcn.00461076
add esp, 0xc
test eax, eax
jne 0x41068d
push edi
push 0x20
lea eax, [ebp - 0x2c]
push 1
push eax
call fcn.00462862
add esp, 0x10
cmp eax, 0x20
jb 0x41068d
lea eax, [ebp - 0x2c]
cmp dword [eax], 0x49445342
jne 0x41068d
cmp dword [eax + 4], 0x30344646
jne 0x41068d
lea ecx, [ebp - 0x24]
call fcn.00410184
mov edx, eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x48], edx
call fcn.00410184
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x40], eax
call fcn.00410184
mov dword [ebp - 0x64], eax
test edx, edx
js 0x41068d
cmp dword [ebp - 0x40], esi
jl 0x41068d
test eax, eax
js 0x41068d
push edi
call fcn.004603b8
pop ecx
test eax, eax
jne 0x4102ae
mov edi, dword [ebp - 0x44]
push 0x48f654
push edi
call fcn.0046169c
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x44], ecx
test ecx, ecx
jne 0x4102b6
xor esi, esi
inc esi
jmp 0x410697
push esi
lea eax, [ebx + 0x20]
push eax
push ecx
call fcn.00461076
add esp, 0xc
test eax, eax
je 0x4102d0
mov eax, dword [ebp - 0x44]
xor esi, esi
inc esi
jmp 0x410332
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x50]
sub esp, 0x10
call fcn.00411f07
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x4102c8
push 0x48f654
push edi
call fcn.0046169c
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x60], ecx
test ecx, ecx
jne 0x410365
xor esi, esi
inc esi
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x50]
call fcn.00411fe8
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x41031a
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.00411fe8
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x41032b
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.00411fe8
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x410339
push eax
call fcn.004603b8
pop ecx
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x410347
push eax
call fcn.004603b8
pop ecx
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x410355
push eax
call fcn.004603b8
pop ecx
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x410621
jmp 0x41061a
mov eax, dword [ebp - 0x48]
add eax, 0x20
push esi
add eax, ebx
push eax
push ecx
call fcn.00461076
add esp, 0xc
test eax, eax
jne 0x4102fe
mov edx, dword [ebp - 0x60]
lea ecx, [ebp - 0x58]
sub esp, 0x10
call fcn.00411f07
mov dword [ebp - 0x54], eax
test eax, eax
je 0x4102fb
push 0x48f654
push edi
call fcn.0046169c
mov edi, eax
mov dword [ebp - 0x68], edi
pop ecx
pop ecx
test edi, edi
je 0x4102fb
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
add ecx, 0x20
add eax, ecx
push esi
add eax, ebx
push eax
push edi
call fcn.00461076
add esp, 0xc
test eax, eax
jne 0x4102fb
sub esp, 0x10
lea ecx, [ebp - 0x40]
mov edx, edi
call fcn.00411f07
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x4102fb
push esi
push 0x8000
push dword [ebp - 0x70]
call fcn.0045ff01
mov edi, eax
add esp, 0xc
test edi, edi
js 0x41066e
push 2
push esi
push edi
call fcn.00461a91
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x70], ebx
cmp ebx, 0xffffffff
je 0x41066e
lea ecx, [ebx + 1]
push ecx
call fcn.00461b84
mov dword [ebp - 0x6c], eax
pop ecx
test eax, eax
je 0x41066e
push esi
push esi
push edi
call fcn.00461a91
add esp, 0xc
test eax, eax
jne 0x41066e
push ebx
push dword [ebp - 0x6c]
push edi
call fcn.004608ae
add esp, 0xc
cmp eax, ebx
jne 0x41066e
push edi
call fcn.00461141
pop ecx
cmp eax, 0xffffffff
je 0x41066e
mov edi, dword [ebp - 0x64]
lea eax, [edi + 1]
push eax
call fcn.00461b84
mov dword [ebp - 0x4c], eax
pop ecx
test eax, eax
je 0x4102fb
mov dword [ebp - 0x48], esi
mov ebx, esi
test edi, edi
jle 0x41057d
mov edi, esi
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0xc]
push 8
push eax
lea ecx, [ebp - 0x50]
call fcn.00412039
cmp eax, 8
jl 0x4102fb
cmp dword [ebp - 0x50], 0
je 0x4104ba
cmp dword [ebp - 0x50], 4
jne 0x4102fb
lea ecx, [ebp - 0xc]
call fcn.00410184
mov dword [ebp + edi*4 - 0x38], eax
inc edi
cmp edi, 2
jle 0x410490
mov edi, dword [ebp - 0x38]
lea eax, [edi + ebx]
mov dword [ebp - 0x74], eax
cmp eax, dword [ebp - 0x64]
jg 0x4102fb
add ebx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x58]
mov edx, dword [ebp - 0x54]
push edi
push ebx
call fcn.00412039
cmp eax, edi
jl 0x4102fb
cmp dword [ebp - 0x58], 0
je 0x410506
cmp dword [ebp - 0x58], 4
jne 0x4102fb
test edi, edi
jle 0x41052e
mov ecx, dword [ebp - 0x48]
mov edx, edi
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
test ecx, ecx
js 0x410522
cmp ecx, edi
jge 0x410522
mov al, byte [ecx + esi]
add byte [ebx], al
inc ecx
inc ebx
sub edx, 1
jne 0x410515
mov edi, dword [ebp - 0x38]
xor esi, esi
add dword [ebp - 0x48], edi
mov edi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x74]
lea ebx, [edi + eax]
cmp ebx, dword [ebp - 0x64]
jg 0x4102fb
add eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0x5c]
push edi
push eax
call fcn.00412039
cmp eax, edi
jl 0x4102fb
cmp dword [ebp - 0x40], 0
je 0x41056b
cmp dword [ebp - 0x40], 4
jne 0x4102fb
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
cmp ebx, dword [ebp - 0x64]
jl 0x41048e
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x50]
call fcn.00411fe8
cmp dword [ebp - 0x50], 0
jne 0x4102fb
mov edx, dword [ebp - 0x54]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x3c], esi
call fcn.00411fe8
cmp dword [ebp - 0x58], 0
je 0x4105b1
mov eax, dword [ebp - 0x54]
xor esi, esi
inc esi
jmp 0x410310
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x54], esi
call fcn.00411fe8
cmp dword [ebp - 0x40], 0
je 0x4105d0
mov eax, dword [ebp - 0x5c]
xor esi, esi
inc esi
jmp 0x410321
push dword [ebp - 0x44]
mov dword [ebp - 0x5c], esi
call fcn.004603b8
pop ecx
test eax, eax
je 0x4105eb
mov eax, dword [ebp - 0x60]
xor esi, esi
inc esi
jmp 0x410340
push dword [ebp - 0x60]
mov dword [ebp - 0x44], esi
call fcn.004603b8
test eax, eax
mov eax, dword [ebp - 0x68]
pop ecx
je 0x410606
xor esi, esi
inc esi
jmp 0x41034e
push eax
mov dword [ebp - 0x60], esi
call fcn.004603b8
pop ecx
test eax, eax
je 0x410630
xor esi, esi
inc esi
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0045d3d7
pop ecx
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x410697
push eax
call fcn.0045d3d7
jmp 0x410696
push 0x180
push 0x8301
push dword [ebp - 0x78]
mov dword [ebp - 0x68], esi
call fcn.0045ff01
mov edi, eax
add esp, 0xc
test edi, edi
js 0x41066e
mov ebx, dword [ebp - 0x64]
push ebx
push dword [ebp - 0x4c]
push edi
call fcn.0046233d
add esp, 0xc
cmp eax, ebx
jne 0x41066e
push edi
call fcn.00461141
pop ecx
cmp eax, 0xffffffff
jne 0x410617
xor esi, esi
inc esi
cmp edi, 0xffffffff
je 0x41067d
push edi
call fcn.00461141
pop ecx
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x410309
jmp 0x410301
xor esi, esi
push edi
inc esi
call fcn.004603b8
pop ecx
pop ebx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.0045360d
leave
ret