Function at 0x422f30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x6f7d14]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
jne 0x422f53
xor al, al
jmp 0x423124
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ecx]
mov byte [ebp - 9], dl
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 9]
mov byte [eax], cl
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp byte [ebp - 9], 0
jne 0x422f71
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x48]
and eax, 1
je 0x423122
mov dword [ebp - 0x20], 0
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0x62]
test edx, edx
jne 0x422fd1
mov eax, dword [ebp - 0x10]
imul ecx, dword [eax + 0x44], 0x48
add ecx, 0x3c
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0x48]
test eax, eax
je 0x4230cd
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x40]
push edx
mov ecx, 0x7028a0
call fcn.004280d0
mov dword [ebp - 0x18], eax
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
add ecx, dword [eax + 0x44]
push ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x170]
push eax
call fcn.0063df46
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x40]
push edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x170]
push edx
call fcn.0063be3e
add esp, 0xc
movzx eax, byte [ebp + 0x10]
test eax, eax
jne 0x42305a
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x44], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x40]
mov dword [eax + 0x40], edx
jmp 0x4230cb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x18]
push edx
push 0xb9
mov ecx, dword [ebp - 0x10]
call fcn.00421cd0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
push ecx
mov ecx, 0x7028ac
call fcn.004280d0
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x44], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x24]
push edx
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x44]
push edx
call fcn.00428310
add esp, 0x10
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xfffffffd
je 0x4230c7
jmp 0x4230cb
xor al, al
jmp 0x423124
jmp 0x423122
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
push edx
mov ecx, 0x7028ac
call fcn.004280d0
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x44], eax
push 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
add eax, dword [edx + 0x44]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x170]
push edx
call fcn.0063df46
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x44]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x170]
push edx
call fcn.0063be3e
add esp, 0xc
mov al, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0062fc3e
mov esp, ebp
pop ebp
ret 0xc