Function at 0x426020
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 0x54], ecx
mov dword [ebp - 4], 0x40100
push 0x439608
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 8]
push ecx
call fcn.00402def
add esp, 0xc
test eax, eax
jne 0x426ad1
mov edx, dword [ebp - 0x54]
mov dword [edx + 0x394], 0
xor eax, eax
mov ecx, dword [ebp - 0x54]
mov word [ecx + 0x13d8], ax
push 0x10
push 0
mov edx, dword [ebp - 0x54]
add edx, 0x13da
push edx
call fcn.00401f60
add esp, 0xc
mov eax, dword [ebp - 8]
push eax
push 1
push 4
lea ecx, [ebp - 0x10]
push ecx
call fcn.004030e2
add esp, 0x10
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x374], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0x30100
je 0x4260ca
cmp dword [ebp - 0x58], 0x40000
je 0x42651e
cmp dword [ebp - 0x58], 0x40100
je 0x42651e
jmp 0x426aac
mov edx, dword [ebp - 8]
push edx
push 1
push 2
lea eax, [ebp - 0xc]
push eax
call fcn.004030e2
add esp, 0x10
movzx ecx, word [ebp - 0xc]
test ecx, ecx
jle 0x42616e
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x38
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x378], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x378], 0
jne 0x426135
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x38
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x378]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x38
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x378]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x37c], edx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
test eax, eax
jle 0x42621f
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 0x380], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x380], 0
jne 0x4261e6
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x18
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x380]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x18
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x380]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x384], edx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
test eax, eax
jle 0x4262f0
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x388], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x388], 0
jne 0x426297
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
mov dword [ebp - 0x14], 0
jmp 0x4262a9
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
movzx edx, word [ebp - 0xc]
cmp dword [ebp - 0x14], edx
jge 0x4262f0
push 0x10
push 0
mov eax, dword [ebp - 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x54]
add eax, dword [ecx + 0x388]
push eax
call fcn.00401f60
add esp, 0xc
mov edx, dword [ebp - 8]
push edx
push 1
push 0xc
mov eax, dword [ebp - 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x54]
add eax, dword [ecx + 0x388]
push eax
call fcn.004030e2
add esp, 0x10
jmp 0x4262a0
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x38c], edx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x394], eax
movzx edx, word [ebp - 0xc]
test edx, edx
jle 0x4263ae
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x1c
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x390], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x390], 0
jne 0x426375
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x1c
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x390]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x1c
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x390]
push ecx
call fcn.004030e2
add esp, 0x10
mov edx, dword [ebp - 8]
push edx
push 1
push 2
lea eax, [ebp - 0xc]
push eax
call fcn.004030e2
add esp, 0x10
movzx ecx, word [ebp - 0xc]
test ecx, ecx
jle 0x426452
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0x39c], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x39c], 0
jne 0x426419
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x18
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x39c]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x18
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x39c]
push ecx
call fcn.004030e2
add esp, 0x10
mov edx, dword [ebp - 8]
push edx
push 1
push 2
lea eax, [ebp - 0xc]
push eax
call fcn.004030e2
add esp, 0x10
movzx ecx, word [ebp - 0xc]
test ecx, ecx
jle 0x426519
mov edx, dword [ebp - 0x54]
mov ax, word [ebp - 0xc]
mov word [edx + 0x13cc], ax
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x13cc]
shl eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x13c4], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x13c4], 0
jne 0x4264d4
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
mov ecx, dword [ebp - 0x54]
movzx edx, word [ecx + 0x13cc]
shl edx, 4
push edx
push 0
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x13c4]
push ecx
call fcn.00401f60
add esp, 0xc
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x13cc]
push ecx
push 0x10
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x13c4]
push eax
call fcn.004030e2
add esp, 0x10
jmp 0x426aac
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
test eax, eax
jle 0x4265c2
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x38
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x378], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x378], 0
jne 0x426589
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x38
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x378]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x38
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x378]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x37c], edx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
test eax, eax
jle 0x426673
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0x13d0], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x13d0], 0
jne 0x42663a
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x18
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x13d0]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x18
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x13d0]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x13d4], edx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
test eax, eax
jle 0x426724
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x380], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x380], 0
jne 0x4266eb
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x18
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x380]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x18
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x380]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x384], edx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
test eax, eax
jle 0x4267d5
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0x388], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x388], 0
jne 0x42679c
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
shl ecx, 4
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x388]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x10
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x388]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x38c], edx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.004030e2
add esp, 0x10
movzx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x394], eax
movzx edx, word [ebp - 0xc]
test edx, edx
jle 0x4268e5
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x1c
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x390], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x390], 0
jne 0x42685a
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx ecx, word [ebp - 0xc]
imul ecx, ecx, 0x1c
push ecx
push 0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x390]
push eax
call fcn.00401f60
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
movzx edx, word [ebp - 0xc]
push edx
push 0x1c
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x390]
push ecx
call fcn.004030e2
add esp, 0x10
cmp dword [ebp - 0x10], 0x40100
jne 0x4268e5
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x398], ecx
mov edx, dword [ebp - 8]
push edx
movzx eax, word [ebp - 0xc]
push eax
push 2
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 0x398]
push edx
call fcn.004030e2
add esp, 0x10
mov eax, dword [ebp - 8]
push eax
push 1
push 2
lea ecx, [ebp - 0xc]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
test edx, edx
jle 0x4269e8
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x48]
mov dword [eax + 0x39c], ecx
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x3a0], edx
mov ecx, dword [ebp - 0x54]
cmp dword [ecx + 0x39c], 0
jne 0x42695d
mov edx, dword [ebp - 8]
push edx
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
movzx eax, word [ebp - 0xc]
imul eax, eax, 0x18
push eax
push 0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 0x39c]
push edx
call fcn.00401f60
add esp, 0xc
mov eax, dword [ebp - 8]
push eax
movzx ecx, word [ebp - 0xc]
push ecx
push 0x18
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x39c]
push eax
call fcn.004030e2
add esp, 0x10
cmp dword [ebp - 0x10], 0x40100
jne 0x4269e8
movzx eax, word [ebp - 0xc]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x3a4], ecx
mov edx, dword [ebp - 8]
push edx
movzx eax, word [ebp - 0xc]
push eax
push 2
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 0x3a4]
push edx
call fcn.004030e2
add esp, 0x10
mov eax, dword [ebp - 8]
push eax
push 1
push 2
lea ecx, [ebp - 0xc]
push ecx
call fcn.004030e2
add esp, 0x10
movzx edx, word [ebp - 0xc]
test edx, edx
jle 0x426aac
mov eax, dword [ebp - 0x54]
mov cx, word [ebp - 0xc]
mov word [eax + 0x13cc], cx
mov edx, dword [ebp - 0x54]
movzx eax, word [edx + 0x13cc]
shl eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x13c4], ecx
mov edx, dword [ebp - 0x54]
cmp dword [edx + 0x13c4], 0
jne 0x426a67
mov eax, dword [ebp - 8]
push eax
call fcn.00403176
add esp, 4
xor eax, eax
jmp 0x426ad3
mov ecx, dword [ebp - 0x54]
movzx edx, word [ecx + 0x13cc]
shl edx, 4
push edx
push 0
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x13c4]
push ecx
call fcn.00401f60
add esp, 0xc
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x13cc]
push ecx
push 0x10
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0x13c4]
push eax
call fcn.004030e2
add esp, 0x10
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00425b90
mov edx, dword [ebp - 8]
push edx
call fcn.00403176
add esp, 4
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x374]
jmp 0x426ad3
xor eax, eax
mov esp, ebp
pop ebp
ret 4