Function at 0x410283
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x4bf100]
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 0x4a9e34
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.00463bde
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4102ce
inc esi
jmp 0x410769
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x4102e9
push esi
push ebx
push edi
call fcn.004635b8
add esp, 0xc
test eax, eax
jne 0x41075e
push edi
push 0x20
lea eax, [ebp - 0x2c]
push 1
push eax
call fcn.00464da4
add esp, 0x10
cmp eax, 0x20
jb 0x41075e
lea eax, [ebp - 0x2c]
cmp dword [eax], 0x49445342
jne 0x41075e
cmp dword [eax + 4], 0x30344646
jne 0x41075e
lea ecx, [ebp - 0x24]
call fcn.00410255
mov edx, eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x48], edx
call fcn.00410255
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x40], eax
call fcn.00410255
mov dword [ebp - 0x64], eax
test edx, edx
js 0x41075e
cmp dword [ebp - 0x40], esi
jl 0x41075e
test eax, eax
js 0x41075e
push edi
call fcn.004628fa
pop ecx
test eax, eax
jne 0x41037f
mov edi, dword [ebp - 0x44]
push 0x4a9e34
push edi
call fcn.00463bde
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x44], ecx
test ecx, ecx
jne 0x410387
xor esi, esi
inc esi
jmp 0x410768
push esi
lea eax, [ebx + 0x20]
push eax
push ecx
call fcn.004635b8
add esp, 0xc
test eax, eax
je 0x4103a1
mov eax, dword [ebp - 0x44]
xor esi, esi
inc esi
jmp 0x410403
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x50]
sub esp, 0x10
call fcn.00412004
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x410399
push 0x4a9e34
push edi
call fcn.00463bde
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x60], ecx
test ecx, ecx
jne 0x410436
xor esi, esi
inc esi
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x50]
call fcn.004120e5
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4103eb
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.004120e5
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4103fc
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.004120e5
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x41040a
push eax
call fcn.004628fa
pop ecx
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x410418
push eax
call fcn.004628fa
pop ecx
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x410426
push eax
call fcn.004628fa
pop ecx
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x4106f2
jmp 0x4106eb
mov eax, dword [ebp - 0x48]
add eax, 0x20
push esi
add eax, ebx
push eax
push ecx
call fcn.004635b8
add esp, 0xc
test eax, eax
jne 0x4103cf
mov edx, dword [ebp - 0x60]
lea ecx, [ebp - 0x58]
sub esp, 0x10
call fcn.00412004
mov dword [ebp - 0x54], eax
test eax, eax
je 0x4103cc
push 0x4a9e34
push edi
call fcn.00463bde
mov edi, eax
mov dword [ebp - 0x68], edi
pop ecx
pop ecx
test edi, edi
je 0x4103cc
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.004635b8
add esp, 0xc
test eax, eax
jne 0x4103cc
sub esp, 0x10
lea ecx, [ebp - 0x40]
mov edx, edi
call fcn.00412004
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x4103cc
push esi
push 0x8000
push dword [ebp - 0x70]
call fcn.00462443
mov edi, eax
add esp, 0xc
test edi, edi
js 0x41073f
push 2
push esi
push edi
call fcn.00463fd3
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x70], ebx
cmp ebx, 0xffffffff
je 0x41073f
lea ecx, [ebx + 1]
push ecx
call fcn.004640c6
mov dword [ebp - 0x6c], eax
pop ecx
test eax, eax
je 0x41073f
push esi
push esi
push edi
call fcn.00463fd3
add esp, 0xc
test eax, eax
jne 0x41073f
push ebx
push dword [ebp - 0x6c]
push edi
call fcn.00462df0
add esp, 0xc
cmp eax, ebx
jne 0x41073f
push edi
call fcn.00463683
pop ecx
cmp eax, 0xffffffff
je 0x41073f
mov edi, dword [ebp - 0x64]
lea eax, [edi + 1]
push eax
call fcn.004640c6
mov dword [ebp - 0x4c], eax
pop ecx
test eax, eax
je 0x4103cc
mov dword [ebp - 0x48], esi
mov ebx, esi
test edi, edi
jle 0x41064e
mov edi, esi
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0xc]
push 8
push eax
lea ecx, [ebp - 0x50]
call fcn.00412136
cmp eax, 8
jl 0x4103cc
cmp dword [ebp - 0x50], 0
je 0x41058b
cmp dword [ebp - 0x50], 4
jne 0x4103cc
lea ecx, [ebp - 0xc]
call fcn.00410255
mov dword [ebp + edi*4 - 0x38], eax
inc edi
cmp edi, 2
jle 0x410561
mov edi, dword [ebp - 0x38]
lea eax, [edi + ebx]
mov dword [ebp - 0x74], eax
cmp eax, dword [ebp - 0x64]
jg 0x4103cc
add ebx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x58]
mov edx, dword [ebp - 0x54]
push edi
push ebx
call fcn.00412136
cmp eax, edi
jl 0x4103cc
cmp dword [ebp - 0x58], 0
je 0x4105d7
cmp dword [ebp - 0x58], 4
jne 0x4103cc
test edi, edi
jle 0x4105ff
mov ecx, dword [ebp - 0x48]
mov edx, edi
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
test ecx, ecx
js 0x4105f3
cmp ecx, edi
jge 0x4105f3
mov al, byte [ecx + esi]
add byte [ebx], al
inc ecx
inc ebx
sub edx, 1
jne 0x4105e6
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 0x4103cc
add eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0x5c]
push edi
push eax
call fcn.00412136
cmp eax, edi
jl 0x4103cc
cmp dword [ebp - 0x40], 0
je 0x41063c
cmp dword [ebp - 0x40], 4
jne 0x4103cc
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
cmp ebx, dword [ebp - 0x64]
jl 0x41055f
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x50]
call fcn.004120e5
cmp dword [ebp - 0x50], 0
jne 0x4103cc
mov edx, dword [ebp - 0x54]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x3c], esi
call fcn.004120e5
cmp dword [ebp - 0x58], 0
je 0x410682
mov eax, dword [ebp - 0x54]
xor esi, esi
inc esi
jmp 0x4103e1
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x54], esi
call fcn.004120e5
cmp dword [ebp - 0x40], 0
je 0x4106a1
mov eax, dword [ebp - 0x5c]
xor esi, esi
inc esi
jmp 0x4103f2
push dword [ebp - 0x44]
mov dword [ebp - 0x5c], esi
call fcn.004628fa
pop ecx
test eax, eax
je 0x4106bc
mov eax, dword [ebp - 0x60]
xor esi, esi
inc esi
jmp 0x410411
push dword [ebp - 0x60]
mov dword [ebp - 0x44], esi
call fcn.004628fa
test eax, eax
mov eax, dword [ebp - 0x68]
pop ecx
je 0x4106d7
xor esi, esi
inc esi
jmp 0x41041f
push eax
mov dword [ebp - 0x60], esi
call fcn.004628fa
pop ecx
test eax, eax
je 0x410701
xor esi, esi
inc esi
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0045f917
pop ecx
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x410768
push eax
call fcn.0045f917
jmp 0x410767
push 0x180
push 0x8301
push dword [ebp - 0x78]
mov dword [ebp - 0x68], esi
call fcn.00462443
mov edi, eax
add esp, 0xc
test edi, edi
js 0x41073f
mov ebx, dword [ebp - 0x64]
push ebx
push dword [ebp - 0x4c]
push edi
call fcn.0046487f
add esp, 0xc
cmp eax, ebx
jne 0x41073f
push edi
call fcn.00463683
pop ecx
cmp eax, 0xffffffff
jne 0x4106e8
xor esi, esi
inc esi
cmp edi, 0xffffffff
je 0x41074e
push edi
call fcn.00463683
pop ecx
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x4103da
jmp 0x4103d2
xor esi, esi
push edi
inc esi
call fcn.004628fa
pop ecx
pop ebx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.00455c9e
leave
ret