Function at 0x4391e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4664e2
mov eax, dword fs:[0]
push eax
sub esp, 0x2b4
mov eax, dword [0x47e00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x248], ecx
push 0x481310
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 0x23c], 0
jmp 0x439239
mov eax, dword [ebp - 0x23c]
add eax, 1
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x248]
add ecx, 4
call fcn.00416fe0
cmp dword [ebp - 0x23c], eax
jae 0x439333
mov ecx, dword [ebp - 0x23c]
push ecx
mov ecx, dword [ebp - 0x248]
add ecx, 4
call fcn.00416fa0
mov edx, dword [eax]
mov dword [ebp - 0x21c], edx
mov ecx, dword [ebp - 0x21c]
add ecx, 4
call fcn.0040e570
mov dword [ebp - 0x244], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
mov dl, byte [ecx]
mov byte [ebp - 0x227], dl
mov eax, dword [ebp - 0x244]
cmp dl, byte [eax]
jne 0x4392eb
cmp byte [ebp - 0x227], 0
je 0x4392df
mov ecx, dword [ebp - 0x240]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x225], dl
mov eax, dword [ebp - 0x244]
cmp dl, byte [eax + 1]
jne 0x4392eb
add dword [ebp - 0x240], 2
add dword [ebp - 0x244], 2
cmp byte [ebp - 0x225], 0
jne 0x43928d
mov dword [ebp - 0x260], 0
jmp 0x4392f6
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 0
jne 0x43932e
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x21c]
mov dword [edx], ecx
push 0x481310
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x43994e
jmp 0x43922a
push 0x481310
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x3c
call fcn.00449b00
add esp, 4
mov dword [ebp - 0x294], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x294]
call fcn.00438bc0
mov dword [ebp - 0x264], eax
jmp 0x439372
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x298], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x21c]
add ecx, 4
call fcn.0041a0f0
push 0x471d3c
mov eax, dword [ebp + 8]
push eax
call fcn.0044f249
add esp, 8
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x22c], 0
cmp dword [ebp - 0x234], 0
je 0x439424
mov ecx, dword [ebp - 0x234]
push ecx
call fcn.00419630
add esp, 4
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x268]
push edx
call fcn.00449dd6
add esp, 4
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x234]
push ecx
mov edx, dword [ebp - 0x268]
push edx
push 1
mov eax, dword [ebp - 0x22c]
push eax
call fcn.0044f999
add esp, 0x10
jmp 0x439484
mov cl, byte [0x46db4a]
mov byte [ebp - 0x90], cl
push 0x7f
push 0
lea edx, [ebp - 0x8f]
push edx
call fcn.0044c410
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push str.BinFile_Open_Error_:__s
lea ecx, [ebp - 0x90]
push ecx
call fcn.00403de0
add esp, 0xc
push 0x40000
push 0x471d48
lea edx, [ebp - 0x90]
push edx
call fcn.00436fa0
mov ecx, eax
call fcn.004373c0
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x43994e
mov al, byte [0x46db4b]
mov byte [ebp - 0x210], al
push 0xff
push 0
lea ecx, [ebp - 0x20f]
push ecx
call fcn.0044c410
add esp, 0xc
mov dword [ebp - 0x224], 0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x230]
add eax, 1
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x230]
mov dl, byte [ecx]
mov byte [ebp - 0x226], dl
add dword [ebp - 0x230], 1
cmp byte [ebp - 0x226], 0
jne 0x4394c7
mov eax, dword [ebp - 0x230]
sub eax, dword [ebp - 0x270]
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
sub ecx, 4
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x210]
push eax
call fcn.00455d70
add esp, 0xc
lea ecx, [ebp - 0x210]
push ecx
push str._s.dat
lea edx, [ebp - 0x210]
push edx
call fcn.00403de0
add esp, 0xc
push 0x471d90
lea eax, [ebp - 0x210]
push eax
call fcn.0044f249
add esp, 8
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x4395a9
mov ecx, dword [ebp - 0x238]
push ecx
call fcn.00419630
add esp, 4
mov dword [ebp - 0x250], eax
mov edx, dword [ebp - 0x250]
push edx
call fcn.00449dd6
add esp, 4
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x238]
push ecx
mov edx, dword [ebp - 0x250]
push edx
push 1
mov eax, dword [ebp - 0x224]
push eax
call fcn.0044f999
add esp, 0x10
jmp 0x43960c
mov cl, byte [0x46db6f]
mov byte [ebp - 0x110], cl
push 0x7f
push 0
lea edx, [ebp - 0x10f]
push edx
call fcn.0044c410
add esp, 0xc
lea eax, [ebp - 0x210]
push eax
push str.DatFile_Open_Error_:__s
lea ecx, [ebp - 0x110]
push ecx
call fcn.00403de0
add esp, 0xc
push 0x40000
push 0x471d6c
lea edx, [ebp - 0x110]
push edx
call fcn.00436fa0
mov ecx, eax
call fcn.004373c0
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x43994e
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x220]
mov ecx, dword [eax]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x220]
add edx, 4
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x24c], 0
jmp 0x43965e
mov eax, dword [ebp - 0x24c]
add eax, 1
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
cmp ecx, dword [ebp - 0x214]
jge 0x43987d
push 0xb8
call fcn.00449b00
add esp, 4
mov dword [ebp - 0x290], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x290]
call fcn.00438b50
mov dword [ebp - 0x254], eax
jmp 0x4396a7
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x280], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x224]
add ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x218]
mov eax, dword [ecx]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x220]
add ecx, 4
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x224]
add ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x218]
add edx, 8
push edx
call fcn.004643a0
add esp, 0xc
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x220]
add ecx, dword [eax + 4]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x224]
add edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x218]
mov ecx, dword [edx]
mov dword [eax + 0x88], ecx
mov edx, dword [ebp - 0x220]
add edx, 4
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x218]
mov edx, dword [eax]
mov dword [ecx + 0x8c], edx
mov eax, dword [ebp - 0x220]
add eax, 4
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x224]
add ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x218]
mov eax, dword [ecx]
mov dword [edx + 0x90], eax
mov ecx, dword [ebp - 0x220]
add ecx, 4
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x224]
add edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x218]
mov ecx, dword [edx]
mov dword [eax + 0x94], ecx
mov edx, dword [ebp - 0x220]
add edx, 4
mov dword [ebp - 0x220], edx
mov esi, dword [ebp - 0x224]
add esi, dword [ebp - 0x220]
mov edi, dword [ebp - 0x218]
add edi, 0x98
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x220]
add eax, 0x1c
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x218]
push edx
mov ecx, dword [ebp - 0x248]
call fcn.00439b90
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x218]
add ecx, 8
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.0043bb70
mov dword [ebp - 0x284], eax
mov edx, dword [ebp - 0x284]
mov dword [ebp - 0x288], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x288]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
mov ecx, dword [ebp - 0x21c]
add ecx, 0x1c
call fcn.0043bbb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c0]
call fcn.00439970
jmp 0x43964f
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x258]
push eax
call fcn.00449b69
add esp, 4
cmp dword [ebp - 0x258], 0
jne 0x4398ad
mov dword [ebp - 0x28c], 0
jmp 0x4398c3
mov dword [ebp - 0x22c], 0x8123
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x25c], edx
mov eax, dword [ebp - 0x25c]
push eax
call fcn.00449b69
add esp, 4
cmp dword [ebp - 0x25c], 0
jne 0x4398f3
mov dword [ebp - 0x29c], 0
jmp 0x439909
mov dword [ebp - 0x224], 0x8123
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x29c], ecx
cmp dword [ebp - 0x234], 0
je 0x439921
mov edx, dword [ebp - 0x234]
push edx
call fcn.0044f4bd
add esp, 4
cmp dword [ebp - 0x238], 0
je 0x439939
mov eax, dword [ebp - 0x238]
push eax
call fcn.0044f4bd
add esp, 4
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, dword [ebp - 0x248]
add ecx, 4
call fcn.00416e30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00449aef
mov esp, ebp
pop ebp
ret 4