Function at 0x1801a4f0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x4d0
mov eax, dword [0x1804e020]
xor eax, esp
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x4d4]
push ebx
push ebp
xor ecx, ecx
push esi
push edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], 1
cmp eax, 0x3b6
ja 0x1801a555
je 0x1801a54e
sub eax, 0x3a4
je 0x1801a547
sub eax, 4
je 0x1801a540
sub eax, 0xd
jne 0x1801a563
lea ecx, [eax + 0xd]
jmp 0x1801a579
mov ecx, 0x10
jmp 0x1801a579
mov ecx, 0xf
jmp 0x1801a579
mov ecx, 0x11
jmp 0x1801a579
cmp eax, 0x551
je 0x1801a574
cmp eax, 0x255e
je 0x1801a56d
mov eax, 1
jmp 0x1801a9a6
mov ecx, 0x12
jmp 0x1801a579
mov ecx, 0xe
lea esi, [esp + 0x18]
lea ebx, [esp + 0x2d0]
call fcn.18019b80
cmp eax, 1
jne 0x1801a9a2
xor ebp, ebp
push ebp
mov eax, ebx
push 0x8000
push eax
call dword [sym.imp.MSVCR90.dll_int___cdecl__wopen_wchar_t_const___int__int_]
add esp, 0xc
mov dword [esp + 0x30], eax
cmp eax, 0xffffffff
je 0x1801a9a2
mov dword [esp + 0x28], eax
lea eax, [esp + 0x48]
lea edi, [esp + 0x24]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], 0x4d2
call fcn.1801fd60
cmp eax, 0x280
jne 0x1801a994
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x4c]
push 0x180427f8
push edx
mov byte [esp + 0x2d4], 0
mov dword [esp + 0x28], ebp
call dword [sym.imp.MSVCR90.dll_strtok_s]
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1801a994
mov ebx, dword [sym.imp.MSVCR90.dll__strnicmp]
nop
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1801a615
push 0x12
sub eax, edx
push str.Unicode_version_:
push esi
lea ebp, [eax + ebp + 1]
call ebx
add esp, 0xc
test eax, eax
jne 0x1801a681
add esi, 0x12
xor edi, edi
cmp byte [esi], 0
je 0x1801a65e
lea ecx, [ecx]
movzx eax, byte [esi]
push eax
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1801a658
mov cl, byte [esi]
mov byte [esp + edi + 0x34], cl
inc edi
inc esi
cmp byte [esi], 0
jne 0x1801a640
lea edx, [esp + 0x34]
push edx
mov byte [esp + edi + 0x38], 0
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
cmp dword [esp + 0x18], eax
jne 0x1801a6f4
mov dword [esp + 0x14], 1
jmp 0x1801a692
push 0xd
push str.Data_count_:
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x1801a6b3
lea eax, [esp + 0x1c]
push eax
push 0x180427f8
push 0
call dword [sym.imp.MSVCR90.dll_strtok_s]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1801a610
jmp 0x1801a6f4
add esi, 0xd
xor edi, edi
cmp byte [esi], 0
je 0x1801a6dd
mov ebx, dword [sym.imp.MSVCR90.dll_isdigit]
movzx ecx, byte [esi]
push ecx
call ebx
add esp, 4
test eax, eax
je 0x1801a6d7
mov dl, byte [esi]
mov byte [esp + edi + 0x34], dl
inc edi
inc esi
cmp byte [esi], 0
jne 0x1801a6c3
lea eax, [esp + 0x34]
push eax
mov byte [esp + edi + 0x38], 0
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], 0
je 0x1801a994
push 0
push ebp
mov ebp, dword [esp + 0x30]
push ebp
call dword [sym.imp.MSVCR90.dll__lseek]
add esp, 0xc
test eax, eax
jl 0x1801a71c
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x18]
mov esi, dword [sym.imp.MSVCR90.dll_malloc]
lea edx, [ecx + ecx]
push edx
call esi
add esp, 4
push 0x20000
mov ebx, eax
call esi
mov edi, dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov esi, eax
test ebx, ebx
je 0x1801a976
test esi, esi
je 0x1801a970
mov eax, 0x3f
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, 0x8000
mov edi, esi
rep stosd dword es:[edi], eax
xor edi, edi
cmp dword [esp + 0x18], edi
jle 0x1801a7d1
push 2
lea eax, [esp + 0x18]
push eax
push ebp
mov dword [esp + 0x20], 0
call dword [sym.imp.MSVCR90.dll__read]
add esp, 0xc
cmp eax, 2
jge 0x1801a7a7
push ebp
call dword [sym.imp.MSVCR90.dll__eof]
xor ecx, ecx
add esp, 4
test eax, eax
setg cl
inc ecx
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x2c], 0x4d2
je 0x1801a7c1
mov al, byte [esp + 0x14]
mov dl, byte [esp + 0x15]
mov byte [esp + 0x14], dl
mov byte [esp + 0x15], al
mov ax, word [esp + 0x14]
mov word [ebx + edi*2], ax
inc edi
cmp edi, dword [esp + 0x18]
jl 0x1801a773
cmp dword [esp + 0x24], 0
je 0x1801a7e9
mov edi, dword [sym.imp.MSVCR90.dll_free]
push ebx
call edi
add esp, 4
jmp 0x1801a97a
mov edi, dword [esp + 0x4e4]
cmp edi, 0x3b6
ja 0x1801a86c
je 0x1801a856
mov eax, edi
sub eax, 0x3a4
je 0x1801a840
sub eax, 4
je 0x1801a82a
sub eax, 0xd
jne 0x1801a8a6
mov dword [0x180537f0], ebx
mov dword [0x18053808], esi
mov dword [esp + 0x14], 0x8140
jmp 0x1801a8a6
mov dword [0x180537fc], ebx
mov dword [0x18053814], esi
mov dword [esp + 0x14], 0x8130
jmp 0x1801a8a6
mov dword [0x180537f8], ebx
mov dword [0x18053810], esi
mov dword [esp + 0x14], 0x8140
jmp 0x1801a8a6
mov dword [0x18053800], ebx
mov dword [0x18053818], esi
mov dword [esp + 0x14], 0xa140
jmp 0x1801a8a6
cmp edi, 0x551
je 0x1801a892
cmp edi, 0x255e
jne 0x1801a8a6
mov dword [0x18053804], ebx
mov dword [0x1805381c], esi
mov dword [esp + 0x14], 0xa1a0
jmp 0x1801a8a6
mov dword [0x180537f4], ebx
mov dword [0x1805380c], esi
mov dword [esp + 0x14], 0x802b
mov edx, dword [esp + 0x18]
xor eax, eax
test edx, edx
jle 0x1801a8d9
movzx ecx, word [ebx + eax*2]
mov ebp, 0xfffd
cmp cx, bp
je 0x1801a8d4
movzx ecx, cx
cmp word [esi + ecx*2], 0x3f
lea ecx, [esi + ecx*2]
jne 0x1801a8d4
mov ebp, dword [esp + 0x14]
add ebp, eax
mov word [ecx], bp
inc eax
cmp eax, edx
jl 0x1801a8b0
cmp edi, 0x3a8
jne 0x1801a966
mov ecx, 0x1804ed10
lea ebx, [ebx]
movzx edx, word [ecx + 4]
xor eax, eax
test edx, edx
jle 0x1801a913
lea ebx, [ebx]
movzx edi, word [ecx]
add edi, eax
inc eax
cmp eax, edx
mov ebp, 0x8130
mov word [esi + edi*2], bp
jl 0x1801a900
add ecx, 6
cmp ecx, 0x1804f1ea
jl 0x1801a8f0
mov edx, 0x8132
sub edx, dword [esp + 0x14]
mov ecx, 0x7e
lea eax, [ebx + edx*2]
nop
mov edx, 0xac00
mov word [eax - 4], dx
mov word [eax - 2], dx
mov word [eax], dx
mov word [eax + 2], dx
mov word [eax + 4], dx
mov word [eax + 6], dx
mov word [eax + 8], dx
mov word [eax + 0xa], dx
mov word [eax + 0xc], dx
mov word [eax + 0xe], dx
add eax, 0x200
sub ecx, 1
jne 0x1801a930
mov dword [esp + 0x20], 2
jmp 0x1801a994
push ebx
call edi
add esp, 4
test esi, esi
je 0x1801a980
push esi
call edi
add esp, 4
test ebx, ebx
je 0x1801a98a
push ebx
call edi
add esp, 4
test esi, esi
je 0x1801a994
push esi
call edi
add esp, 4
mov eax, dword [esp + 0x30]
push eax
call dword [sym.imp.MSVCR90.dll__close]
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x4dc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1802929c
add esp, 0x4d0
ret