Function at 0x409740
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10
mov eax, dword [0x414018]
xor eax, esp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
test eax, eax
push ebp
push esi
push edi
jne 0x40975e
mov eax, 0x40e770
push 0
push 0
push 3
push 0
push 3
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebp, eax
xor eax, eax
cmp ebp, 0xffffffff
mov byte [esp + 0x10], 0
mov dword [esp + 0x11], eax
mov word [esp + 0x15], ax
je 0x4097a8
push eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 6
lea ecx, [esp + 0x1c]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov byte [esp + 0x16], 0
mov edi, str.MC0.0
lea esi, [esp + 0x10]
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1.2
lea esi, [esp + 0x10]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1.40
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1.50
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC2.10
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC2.20
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC2.21
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC2.22
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1001
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1002
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1003
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1004
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1005
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1006
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1007
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1008
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1009
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1010
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1011
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1012
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1013
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1014
lea esi, [esp + 0x10]
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
mov edi, str.AC1500
lea esi, [esp + 0x10]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4099df
cmp ebp, 0xffffffff
je 0x4099c8
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0040b277
add esp, 0x10
ret
cmp ebp, 0xffffffff
je 0x4099eb
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebp
xor ecx, esp
xor eax, eax
call fcn.0040b277
add esp, 0x10
ret