Function at 0x1003546c
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov dword [esp + 8], ecx
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x2c], edi
cmp ecx, 0xfffffffe
je 0x1007a065
test ecx, ecx
js 0x1007af7a
cmp ecx, dword [0x1010f330]
jae 0x1007af7a
mov eax, ecx
mov esi, ecx
and eax, 0x3f
sar esi, 6
imul edx, eax, 0x30
xor eax, eax
inc eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edx
add edx, dword [esi*4 + 0x1010f130]
mov dword [esp + 0x1c], edx
mov bl, byte [edx + 0x28]
test al, bl
je 0x1007a232
mov eax, dword [ebp + 8]
cmp eax, 0x7fffffff
ja 0x1007a37e
test eax, eax
je 0x100355da
test bl, 2
jne 0x100355da
test edi, edi
je 0x1007a547
mov ebx, dword [edx + 0x18]
xor edi, edi
mov dl, byte [edx + 0x29]
mov byte [esp + 0x12], dl
movsx edx, dl
mov dword [esp + 0x24], ebx
push 0xffffffffffffffff
pop ebx
sub edx, 1
je 0x1007a816
sub edx, 1
je 0x1007a60e
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x38], edx
test byte [ecx + 0x28], 0x48
mov ecx, dword [esp + 0x14]
jne 0x1007ac02
push ecx
call sym.ucrtbase.dll__isatty
pop ecx
test eax, eax
jne 0x1007acda
mov byte [esp + 0x34], 0
push 0
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x34]
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_ReadFile]
test eax, eax
je 0x1007ad7b
mov ecx, dword [ebp + 8]
cmp dword [esp + 0x1c], ecx
ja 0x1007ad7b
add esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov eax, dword [eax*4 + 0x1010f130]
cmp byte [eax + edx + 0x28], 0
jl 0x100355b3
push edi
call sym.ucrtbase.dll__free_base
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0x12], 2
je 0x1007ad57
mov edx, dword [esp + 0x20]
shr ecx, 1
push ecx
push dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
push esi
call fcn.10036bb7
add esp, 0xc
mov esi, eax
jmp 0x100355a3
xor eax, eax
jmp 0x100355ac
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
or ebx, 0xffffffff
mov esi, eax
mov edi, 0x364
cmp ecx, ebx
je 0x1007a0f1
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a0eb
cmp eax, ebx
jne 0x1007a15c
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
and dword [eax], 0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007a19e
call fcn.10029fa0
mov dword [esp + 0x38], eax
test eax, eax
je 0x1007a198
mov edi, eax
cmp edi, ebx
jne 0x1007a200
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 9
jmp 0x1007a2b8
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a094
push edi
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
jne 0x1007a13c
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007a131
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
mov ecx, dword [esp + 0x20]
push ecx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007a094
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007a11f
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a094
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007a09b
add eax, 0x14
jmp 0x1007a0a0
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a0d4
push edi
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
jne 0x1007a1e6
xor edx, edx
call fcn.10032a89
push edi
jmp 0x1007a1db
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007a0d4
mov edx, edi
call fcn.10032a89
test eax, eax
je 0x1007a1cd
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x1007a0d4
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x1007a0db
lea eax, [edi + 0x10]
jmp 0x1007a0e0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
or ebx, 0xffffffff
mov esi, eax
mov edi, 0x364
cmp ecx, ebx
je 0x1007a2c5
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a2bf
cmp eax, ebx
jne 0x1007a310
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
and dword [eax], 0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007a347
call fcn.10029fa0
mov dword [esp + 0x38], eax
test eax, eax
je 0x1007a341
mov edi, eax
cmp edi, ebx
jne 0x1007b092
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 9
call sym.ucrtbase.dll__invalid_parameter_noinfo
mov eax, ebx
jmp 0x100355ac
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a261
push edi
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007b037
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007b042
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a261
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
jmp 0x1007afd5
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a2a1
push edi
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
jne 0x1007b078
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007b06d
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
or ebx, 0xffffffff
mov esi, eax
mov edi, 0x364
cmp ecx, ebx
je 0x1007a40a
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a404
cmp eax, ebx
jne 0x1007a44d
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
and dword [eax], 0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007a5e0
call fcn.10029fa0
mov dword [esp + 0x38], eax
test eax, eax
je 0x1007a5da
mov edi, eax
cmp edi, ebx
jne 0x1007a515
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0x16
jmp 0x1007a2b3
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a3ad
push edi
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007a47b
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007a486
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a3ad
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
jmp 0x1007a4c7
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007a498
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
mov ecx, dword [esp + 0x20]
push ecx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007a3ad
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007a3b4
add eax, 0x14
jmp 0x1007a3b9
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007a4f0
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007a3ed
mov edx, edi
call fcn.10032a89
test eax, eax
je 0x1007a4e2
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x1007a3ed
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x1007a3f4
lea eax, [edi + 0x10]
jmp 0x1007a3f9
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
or ebx, 0xffffffff
mov esi, eax
mov edi, 0x364
cmp ecx, ebx
je 0x1007a57e
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a578
cmp eax, ebx
je 0x1007a3ad
jmp 0x1007a5cd
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a3ad
push edi
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007a47b
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007a486
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a3ad
jmp 0x1007a4a3
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a3ed
push edi
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
je 0x1007a4d7
jmp 0x1007a4fb
test al, 1
je 0x10035522
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007a685
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a67f
cmp eax, ebx
jne 0x1007a6eb
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
and dword [eax], edi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007a72d
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a727
cmp eax, ebx
jne 0x1007a794
jmp 0x1007a7fa
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a63d
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007a6c1
mov edx, eax
call fcn.10032a89
test eax, eax
jne 0x1007a6d6
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x2c]
call fcn.100332f5
jmp 0x1007a63d
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a63d
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007a644
add eax, 0x14
jmp 0x1007a649
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a7fa
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007a76d
mov edx, eax
call fcn.10032a89
test eax, eax
jne 0x1007a77f
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x2c]
call fcn.100332f5
jmp 0x1007a7fa
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a7fa
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
jmp 0x1007a7e2
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007a801
add eax, 0x10
jmp 0x1007a806
xor edx, edx
call fcn.10032a89
push 0
call sym.ucrtbase.dll__free_base
pop ecx
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0x16
call sym.ucrtbase.dll__invalid_parameter_noinfo
jmp 0x1007ae04
test al, 1
je 0x1007a9b1
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007a88d
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a887
cmp eax, ebx
jne 0x1007a8fc
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
and dword [eax], edi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007a93e
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007a938
cmp eax, ebx
je 0x1007a7fa
jmp 0x1007a9a4
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a845
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
jne 0x1007a8dc
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007a8d1
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
mov ecx, dword [esp + 0x20]
push ecx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007a845
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007a8bf
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a845
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007a84c
add eax, 0x14
jmp 0x1007a851
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a7fa
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007a7eb
mov edx, eax
call fcn.10032a89
test eax, eax
jne 0x1007a98f
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
mov ecx, dword [esp + 0x20]
push ecx
jmp 0x1007a7f4
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007a7fa
jmp 0x1007a7be
mov ecx, eax
push 4
pop eax
shr ecx, 1
mov dword [esp + 0x18], eax
cmp ecx, eax
jb 0x1007a9c6
mov eax, ecx
mov dword [esp + 0x18], ecx
push eax
call sym.ucrtbase.dll__malloc_base
pop ecx
push 0
mov edi, eax
call sym.ucrtbase.dll__free_base
pop ecx
push 0
call sym.ucrtbase.dll__free_base
mov dword [esp + 0x24], edi
pop ecx
test edi, edi
jne 0x1007abd0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007aa70
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007aa6a
cmp eax, ebx
jne 0x1007aadf
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0xc
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007ab21
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007ab1b
cmp eax, ebx
jne 0x1007ab94
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
mov dword [eax], 8
jmp 0x1007ae04
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007aa12
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
jne 0x1007aabf
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007aab4
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
mov ecx, dword [esp + 0x20]
push ecx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007aa12
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007aaa2
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007aa12
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007aa19
add eax, 0x10
jmp 0x1007aa1e
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007aa53
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
jne 0x1007ab74
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007ab69
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
mov ecx, dword [esp + 0x20]
push ecx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007aa53
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007ab57
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007aa53
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007aa5a
add eax, 0x14
jmp 0x1007aa5f
mov ecx, dword [esp + 0x14]
xor edx, edx
push 0
push 0
inc edx
call fcn.10036464
pop ecx
pop ecx
mov ecx, dword [esi*4 + 0x1010f130]
add ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x24], edx
mov edx, edi
jmp 0x1003552e
mov ecx, dword [esp + 0x1c]
mov cl, byte [ecx + 0x2a]
mov byte [esp + 0x13], cl
cmp cl, 0xa
mov ecx, dword [esp + 0x14]
je 0x10035546
test eax, eax
je 0x10035546
mov cl, byte [esp + 0x13]
xor esi, esi
mov byte [edx], cl
inc esi
mov ecx, dword [esp + 0x1c]
inc edx
dec eax
mov dword [esp + 0x20], edx
cmp byte [esp + 0x12], 0
mov dword [esp + 0x18], eax
mov byte [ecx + 0x2a], 0xa
mov ecx, dword [esp + 0x14]
je 0x10035546
mov ecx, dword [esp + 0x1c]
mov cl, byte [ecx + 0x2b]
mov byte [esp + 0x13], cl
cmp cl, 0xa
mov ecx, dword [esp + 0x14]
je 0x10035546
test eax, eax
je 0x10035546
mov cl, byte [esp + 0x13]
mov byte [edx], cl
inc edx
mov ecx, dword [esp + 0x1c]
dec eax
cmp byte [esp + 0x12], 1
push 2
mov dword [esp + 0x24], edx
mov byte [ecx + 0x2b], 0xa
mov ecx, dword [esp + 0x18]
pop esi
mov dword [esp + 0x18], eax
jne 0x10035546
mov ecx, dword [esp + 0x1c]
mov cl, byte [ecx + 0x2c]
mov byte [esp + 0x13], cl
cmp cl, 0xa
mov ecx, dword [esp + 0x14]
je 0x10035546
test eax, eax
je 0x10035546
mov cl, byte [esp + 0x13]
mov byte [edx], cl
inc edx
mov ecx, dword [esp + 0x14]
dec eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
push 3
mov dword [esp + 0x24], edx
pop esi
mov byte [eax + 0x2c], 0xa
jmp 0x10035546
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax*4 + 0x1010f130]
cmp byte [eax + ecx + 0x28], 0
jge 0x10035555
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x28]
call dword [sym.imp.api_ms_win_core_console_l1_1_0.dll_GetConsoleMode]
test eax, eax
je 0x10035555
cmp byte [esp + 0x12], 2
jne 0x1003555a
push 0
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
shr eax, 1
push eax
push dword [esp + 0x2c]
push dword [esp + 0x34]
call dword [sym.imp.api_ms_win_core_console_l1_1_0.dll_ReadConsoleW]
test eax, eax
jne 0x1007ad48
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
call fcn.1003779a
jmp 0x1007ae04
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
lea esi, [esi + eax*2]
jmp 0x1003558d
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
shr esi, 1
cmp byte [esp + 0x34], 0
push esi
je 0x1007ad70
call fcn.100dcffa
jmp 0x1007ad75
call fcn.100dce40
pop ecx
jmp 0x100355d6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 5
jne 0x1007af5f
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007ae11
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007ae0b
cmp eax, ebx
jne 0x1007ae77
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 9
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, ebx
je 0x1007aeb9
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007aeb3
cmp eax, ebx
jne 0x1007af23
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac4
mov dword [eax], 5
mov esi, ebx
jmp 0x100355a3
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007adb1
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007ae4d
mov edx, eax
call fcn.10032a89
test eax, eax
jne 0x1007ae62
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x38]
call fcn.100332f5
jmp 0x1007adb1
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007adb1
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007adb8
add eax, 0x10
jmp 0x1007adbd
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007adf2
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007aef9
mov edx, eax
call fcn.10032a89
test eax, eax
jne 0x1007af0e
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x38]
call fcn.100332f5
jmp 0x1007adf2
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x1007adf2
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007adf9
add eax, 0x14
jmp 0x1007adfe
cmp eax, 0x6d
jne 0x1007af6b
xor esi, esi
jmp 0x100355a3
mov ecx, eax
call fcn.1003779a
or esi, 0xffffffff
jmp 0x100355a3
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
or ebx, 0xffffffff
mov esi, eax
mov edi, 0x364
cmp ecx, ebx
je 0x1007afeb
call fcn.10029fa0
mov dword [esp + 0x20], eax
test eax, eax
je 0x1007afe5
cmp eax, ebx
je 0x1007a261
test eax, eax
je 0x1007a261
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1007a268
add eax, 0x14
jmp 0x1007a26d
mov ecx, dword [0x1010e2c0]
mov edx, ebx
call fcn.10032a89
test eax, eax
je 0x1007a261
push edi
push 2
call sym.ucrtbase.dll__calloc_base
mov dword [esp + 0x28], eax
pop ecx
pop ecx
mov ecx, dword [0x1010e2c0]
test eax, eax
je 0x1007b037
mov edx, eax
call fcn.10032a89
test eax, eax
je 0x1007b042
mov ecx, dword [esp + 0x20]
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
mov eax, dword [esp + 0x24]
pop ecx
jmp 0x1007afa9
xor edx, edx
call fcn.10032a89
push 0
jmp 0x1007b054
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
mov ecx, dword [esp + 0x20]
push ecx
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007a261
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
pop ecx
jmp 0x1007a2a1
mov edx, edi
call fcn.10032a89
test eax, eax
je 0x1007b05f
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x1007a2a1
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x1007a2a8
lea eax, [edi + 0x10]
jmp 0x1007a2ad