Function at 0x42ad50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, ecx
push ebx
mov ebx, 0x4b5d9c
sub esp, 0x4c
mov dword [ebp - 0x20], 0
movzx eax, word [ebp + 0x14]
mov word [ebp - 0x1c], 0
mov dword [ebp - 0x34], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0044ebb0
mov dword [esp], eax
mov ecx, 0xfffe
mov edx, 1
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x20]
mov dword [esp + 8], edx
call fcn.0044d270
sub esp, 0xc
test al, al
je 0x42af80
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x30], ebx
mov dword [esp], ebx
call sub.msvcrt.dll_ftell
mov dword [esp], ebx
mov edi, eax
call fcn.0044eca0
cmp eax, 0xffffffff
mov ebx, eax
je 0x42af40
sub ebx, edi
je 0x42af40
mov byte [esi + 0x8f36], 1
lea eax, [ebx + 4]
mov dword [ebp - 0x2c], eax
mov dword [esp + 4], edi
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_fseek
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edi, eax
mov eax, dword [ebp + 0xc]
test edi, edi
mov dword [eax], edi
je 0x42b02a
mov word [edi + ebx + 2], 0
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
lea eax, [edi + 2]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp ebx, eax
jne 0x42b010
movzx edx, word [ebp - 0x1c]
cmp edx, 0xfde9
je 0x42ae90
mov ecx, edx
or ecx, 1
cmp ecx, 0x2ee1
je 0x42afe8
cmp ecx, 0x4b1
je 0x42af20
mov ecx, dword [ebp - 0x34]
mov edx, ecx
or edx, 1
cmp edx, 0x4b1
je 0x42af18
cmp edx, 0x2ee1
je 0x42aff4
mov edx, ecx
jmp 0x42ae95
mov edx, 0xfde9
mov byte [edi + 1], 0x58
lea ebx, [edi + 1]
mov ecx, 1
mov dword [esp + 8], edx
add ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.0044ccc0
test eax, eax
mov ebx, eax
je 0x42aff4
cmp edi, eax
je 0x42aec9
mov dword [esp], edi
call fcn.00483050
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
cmp dword [ebx + 2], 0x5c007b
je 0x42afc0
cmp byte [esi + 0x8f35], 1
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x11
mov word [ebx], ax
xor ebx, ebx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0
test eax, eax
je 0x42af05
mov dword [esp], eax
call sub.msvcrt.dll_fclose
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov edx, dword [ebp - 0x34]
lea esi, [esi]
nop
mov word [edi], 0x58
or edx, 0x80000000
mov ebx, edi
mov ecx, 2
jmp 0x42aea1
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], esi
mov dword [esp + 0xc], eax
mov eax, str._ls:_empty_license_file___ls__n
mov dword [esp + 8], eax
mov eax, 0x1b8a
mov dword [esp + 4], eax
call fcn.00407980
mov dword [ebp - 0x2c], 4
xor ebx, ebx
jmp 0x42ade3
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, str._ls:_open_failed___ls__n
mov dword [esp + 4], eax
call fcn.00403350
mov eax, dword [ebp + 0x10]
mov ecx, esi
mov dword [esp], eax
call fcn.0044bd20
sub esp, 4
mov ebx, 0x32
jmp 0x42aeef
cmp dword [ebx + 6], 0x740072
jne 0x42aedb
cmp word [ebx + 0xa], 0x66
mov eax, 2
jne 0x42aedb
jmp 0x42aeea
cmp ecx, 0x4b1
je 0x42af20
mov eax, dword [ebp + 0x10]
mov ecx, str._ls:_wchar_t_conversion_failed__n
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403350
jmp 0x42afaf
mov eax, dword [ebp + 0x10]
mov ebx, str._ls:_cant_read_file._n
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403350
jmp 0x42afaf
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], str.Internal_compiler_error_12345:__ls_malloc__d__failed._n
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403350
jmp 0x42afaf