Function at 0x529330
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
lea edx, [ebp - 8]
sub esp, 0x94
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x64], 0x607c20
mov dword [ebp - 0x5c], edx
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x60], 0x60f3c8
mov dword [ebp - 0x58], 0x5295b9
mov dword [ebp - 0x54], esp
mov dword [esp], edx
call fcn.004cf190
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x52951e
mov dword [esp + 4], 0x6666a0
mov dword [esp], eax
mov dword [ebp - 0x78], 0xffffffff
call fcn.00608a20
test eax, eax
je 0x52951e
lea ebx, [ebp - 0x48]
mov dword [ebp - 0x80], eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x40
mov dword [esp + 4], 1
mov dword [esp], ebx
call sub.msvcrt.dll_fread
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [esp + 8], 7
mov dword [esp + 4], str.define
mov dword [esp], ebx
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x529550
lea eax, [ebp - 0x48]
mov dword [esp + 8], 9
mov dword [esp + 4], str.__XPM__
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x529584
mov ecx, dword [0x6210c8]
mov dword [ebp - 0x80], 0
test ecx, ecx
jg 0x529433
jmp 0x52951e
add dword [ebp - 0x80], 1
mov ecx, dword [ebp - 0x80]
cmp dword [0x6210c8], ecx
jle 0x52951e
lea eax, [ebp - 0x48]
mov dword [esp + 8], 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
mov eax, dword [0x6210d8]
mov ecx, dword [ebp - 0x80]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x78], 0xffffffff
call eax
test eax, eax
mov dword [ebp - 0x88], eax
je 0x529420
mov eax, dword [ebp - 0x84]
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x529494
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x529494
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov dword [ebp - 0x78], 0xffffffff
call eax
mov eax, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x88]
mov dword [eax + 0x2c], 1
mov eax, dword [eax + 4]
cmp dword [ebx + 4], eax
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebx + 8]
mov ebx, dword [ebp - 0x88]
je 0x529530
test eax, eax
je 0x529530
mov ecx, dword [ebx]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [ebp - 0x88], ebx
mov eax, dword [ecx + 8]
mov ecx, ebx
mov dword [ebp - 0x78], 0xffffffff
call eax
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x80], eax
sub esp, 8
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x84]
test eax, eax
mov dword [ebx + 0x28], eax
je 0x52951e
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x18], eax
lea eax, [ebp - 0x7c]
mov dword [esp], eax
call fcn.004cf200
mov ebx, dword [ebp - 4]
leave
ret
cmp dword [ebx + 8], edx
je 0x529539
test edx, edx
jne 0x5294bc
mov ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
mov dword [ebx + 0x28], eax
jmp 0x5294fa
mov dword [esp], 0x28
call fcn.00606ce0
mov dword [ebp - 0x88], eax
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
mov dword [ebp - 0x78], 1
call fcn.0051c9b0
sub esp, 4
jmp 0x52946c
mov dword [esp], 0x28
mov dword [ebp - 0x78], 0xffffffff
call fcn.00606ce0
mov dword [ebp - 0x88], eax
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
mov dword [ebp - 0x78], 2
call fcn.0051cce0
jmp 0x52957c