Function at 0x10019f30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10086178
mov eax, dword fs:[0]
push eax
mov eax, 0x1170
call fcn.100790e0
mov eax, dword [0x100a5c90]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor edi, edi
push edi
push 0x80
push 3
push edi
push edi
mov ebx, ecx
push SysReAllocString
push eax
mov dword [ebp - 0x1168], ebx
mov dword [ebx + 0x1dc], edi
mov dword [ebx + 0x1e0], edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x116c], esi
cmp esi, 0xffffffff
je 0x1001a064
xor eax, eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov word [ebp - 0x34], ax
mov byte [ebp - 0x32], al
lea eax, [ebp - 0x1174]
push eax
push 4
lea ecx, [ebp - 0x3c]
push ecx
push esi
call edi
cmp dword [ebp - 0x1174], 4
jne 0x1001a05d
lea edx, [ebp - 0x1178]
push edx
lea eax, [ebp - 0x3c]
push 0x100928a0
push eax
mov byte [ebp - 0x38], 0
call fcn.100679f1
mov edx, dword [ebp - 0x1178]
add esp, 0xc
push 0
lea ecx, [ebp - 0x1174]
push ecx
push edx
lea eax, [ebp - 0x4b4]
push eax
push esi
call edi
mov eax, dword [ebp - 0x1178]
mov edi, dword [ebp - 0x1174]
cmp eax, edi
jne 0x1001a05d
mov byte [ebp + eax - 0x4b4], 0
cmp edi, 0xffffffff
je 0x1001a05d
lea ecx, [ebp - 0x4b4]
push str._encry_mode_
push ecx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a05d
mov ecx, edi
lea ebx, [ebp - 0x1170]
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
jne 0x1001a072
mov ebx, dword [ebp - 0x1168]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
call fcn.100192e0
xor al, al
jmp 0x1001aa23
lea edi, [ebp - 0x5c]
call fcn.1000e690
mov ecx, eax
mov dword [ebp - 4], 0
mov eax, dword [ecx + 0x10]
push str.681E_B0L3_UC27_I7QZ_H6PP
mov edi, 0x18
call fcn.10004240
test eax, eax
sete bl
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x48], 8
jb 0x1001a0b3
mov edx, dword [ebp - 0x5c]
push edx
call fcn.10066b10
add esp, 4
test bl, bl
je 0x1001a0ca
cmp dword [ebp - 0x1170], 2
jne 0x1001a0ec
mov dword [ebp - 0x1170], 1
mov eax, dword [ebp - 0x1170]
push eax
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov esi, eax
cmp esi, 0xffffffff
jne 0x1001a117
mov ecx, dword [ebp - 0x116c]
push ecx
jmp 0x1001a0ff
push 0x100938e4
mov ecx, 0x100aa2d0
call fcn.100057b0
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1168]
call fcn.100192e0
xor al, al
jmp 0x1001aa23
lea edx, [ebp - 0x4b4]
push str._bind_num_
push edx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a14c
mov ebx, dword [ebp - 0x1168]
add ebx, 0x1d8
mov ecx, esi
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
jne 0x1001a155
mov eax, dword [ebp - 0x116c]
push eax
jmp 0x1001a0ff
mov ecx, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push ecx
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
lea edx, [ebp - 0x4b4]
push str._hardware_count_
push edx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
mov ecx, edi
lea ebx, [ebp - 0x1174]
lea edi, [ebp - 0x4b4]
call fcn.1001b610
xor edx, edx
cmp eax, edx
je 0x1001a0fe
xor eax, eax
movzx esi, ax
mov eax, esi
shl esi, 0x10
or eax, esi
mov dword [ebp - 0x55c], edx
lea ecx, [edx + 0x20]
lea edi, [ebp - 0x558]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x1178], edx
cmp dword [ebp - 0x1174], edx
jle 0x1001a2e7
mov edi, edi
mov eax, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push eax
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
lea ecx, [ebp - 0x4b4]
push str._hardware_type_
push ecx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
mov ecx, edi
lea ebx, [ebp - 0x55c]
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
je 0x1001a0fe
mov edx, dword [ebp - 0x1170]
push edx
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
xor eax, eax
mov dword [ebp - 0x5b], eax
mov dword [ebp - 0x57], eax
mov dword [ebp - 0x53], eax
mov dword [ebp - 0x4f], eax
mov dword [ebp - 0x4b], eax
mov dword [ebp - 0x47], eax
mov dword [ebp - 0x43], eax
mov word [ebp - 0x3f], ax
lea eax, [ebp - 0x4b4]
push str._hardware_No_
push eax
mov byte [ebp - 0x5c], 0
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, edi
lea ebx, [ebp - 0x4b4]
call fcn.1001b750
test eax, eax
je 0x1001a0fe
lea edx, [ebp - 0x558]
push edx
lea esi, [ebp - 0x5c]
call fcn.10020c90
mov ebx, dword [ebp - 0x1168]
add esp, 4
add ebx, 0x8c
lea eax, [ebp - 0x55c]
call fcn.1001bfd0
mov eax, dword [ebp - 0x1178]
inc eax
mov dword [ebp - 0x1178], eax
cmp eax, dword [ebp - 0x1174]
jl 0x1001a1e0
mov eax, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push eax
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
lea ecx, [ebp - 0x4b4]
push str._key_count_
push ecx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
mov ecx, edi
lea ebx, [ebp - 0x1174]
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
je 0x1001a0fe
lea esi, [ebp - 0x1164]
call fcn.1000dbc0
cmp dword [ebp - 0x1174], 0
mov dword [ebp - 0x1178], 0
jle 0x1001a3ec
mov edx, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push edx
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
lea eax, [ebp - 0x4b4]
push str._unit_key_
push eax
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
lea ecx, [ebp - 0x1164]
push ecx
lea ebx, [ebp - 0x4b4]
call fcn.1001b7b0
test eax, eax
je 0x1001a0fe
mov ebx, dword [ebp - 0x1168]
add ebx, 0x9c
lea eax, [ebp - 0x1164]
call fcn.1000d8d0
mov eax, dword [ebp - 0x1178]
inc eax
mov dword [ebp - 0x1178], eax
cmp eax, dword [ebp - 0x1174]
jl 0x1001a363
mov edx, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push edx
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
xor eax, eax
mov byte [ebp - 0x30], al
mov dword [ebp - 0x2f], eax
mov dword [ebp - 0x2b], eax
mov dword [ebp - 0x27], eax
mov dword [ebp - 0x23], eax
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
lea eax, [ebp - 0x4b4]
push str._file_create_time_
push eax
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
lea ecx, [ebp - 0x30]
push ecx
mov ecx, edi
lea ebx, [ebp - 0x4b4]
call fcn.1001b750
test eax, eax
je 0x1001a0fe
mov ebx, dword [ebp - 0x1168]
lea edx, [ebx + 0xac]
push edx
lea esi, [ebp - 0x30]
call fcn.10020c90
mov eax, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
add esp, 4
push eax
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a05d
lea ecx, [ebp - 0x4b4]
push str._main_key_id_
push ecx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a05d
mov ecx, edi
add ebx, 0xe0
lea edi, [ebp - 0x4b4]
call fcn.1001b6b0
test eax, eax
je 0x1001a057
mov edx, dword [ebp - 0x1170]
push edx
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x4b4]
push str._start_time_
push eax
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
lea ecx, [ebp - 0x30]
push ecx
mov ecx, edi
lea ebx, [ebp - 0x4b4]
call fcn.1001b750
test eax, eax
je 0x1001a0fe
mov ebx, dword [ebp - 0x1168]
lea edx, [ebx + 0x174]
push edx
lea esi, [ebp - 0x30]
call fcn.10020c90
mov eax, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
add esp, 4
push eax
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a05d
xor eax, eax
lea ecx, [ebp - 0x4b4]
push str._end_time_
push ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], al
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a05d
lea edx, [ebp - 0x30]
push edx
mov ecx, edi
lea ebx, [ebp - 0x4b4]
call fcn.1001b750
test eax, eax
je 0x1001a057
mov eax, dword [ebp - 0x1168]
add eax, 0x1a6
push eax
lea esi, [ebp - 0x30]
call fcn.10020c90
mov ecx, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
add esp, 4
push ecx
mov edi, ebx
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001aa1a
mov edx, ebx
push str._keydesc_count_
push edx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
mov ecx, edi
lea ebx, [ebp - 0x1174]
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
je 0x1001a0fe
cmp dword [ebp - 0x1174], 0
mov dword [ebp - 0x1178], 0
jle 0x1001a720
jmp 0x1001a640
mov eax, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push eax
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
lea ecx, [ebp - 0x4b4]
push str._unit_keydesc_
push ecx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
lea edx, [ebp - 0x1164]
push edx
lea ebx, [ebp - 0x4b4]
call fcn.1001b7b0
test eax, eax
je 0x1001a0fe
lea eax, [ebp - 0xd5c]
push eax
lea esi, [ebp - 0x1160]
call fcn.10020c90
mov ebx, dword [ebp - 0x1168]
mov esi, dword [ebx + 0x9c]
add esp, 4
cmp esi, dword [ebx + 0xa0]
je 0x1001a705
mov edx, esi
lea ecx, [ebp - 0xd5c]
sub edx, ecx
add edx, 0x408
mov eax, dword [esi]
cmp eax, dword [ebp - 0x1164]
jne 0x1001a6f1
lea eax, [ebp - 0xd5c]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x1001a6e2
add esi, 0xc08
add edx, 0xc08
cmp esi, dword [ebx + 0xa0]
jne 0x1001a6d2
mov eax, dword [ebp - 0x1178]
inc eax
mov dword [ebp - 0x1178], eax
cmp eax, dword [ebp - 0x1174]
jl 0x1001a640
jmp 0x1001a726
mov ebx, dword [ebp - 0x1168]
mov ecx, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push ecx
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001aa1a
push 0x32
lea edx, [ebp - 0xa8]
push 0
push edx
call fcn.1006b580
add esp, 0xc
lea eax, [ebp - 0x4b4]
push str._producr_key_
push eax
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a05d
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, edi
lea ebx, [ebp - 0x4b4]
call fcn.1001b750
test eax, eax
je 0x1001a057
sub esp, 0x1c
lea eax, [ebp - 0xa8]
mov ecx, esp
mov dword [ebp - 0x1174], esp
call fcn.10003630
lea esi, [ebp - 0x5c]
call fcn.10020fd0
add esp, 0x1c
cmp dword [eax + 0x14], 8
jb 0x1001a7bd
mov eax, dword [eax]
mov edx, dword [ebp - 0x1168]
sub edx, eax
jmp 0x1001a7d0
movzx ecx, word [eax]
mov word [edx + eax + 0xe4], cx
add eax, 2
test cx, cx
jne 0x1001a7d0
lea ecx, [ebp - 0x5c]
call fcn.10003710
mov edx, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push edx
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001aa1a
lea eax, [ebp - 0x4b4]
push str._version_type_
push eax
mov dword [ebp - 0x1174], 0x7530
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
mov ecx, edi
lea ebx, [ebp - 0x1174]
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
je 0x1001a0fe
mov eax, dword [ebp - 0x1170]
mov ecx, dword [ebp - 0x1174]
mov edx, dword [ebp - 0x1168]
push eax
mov dword [edx + 0x148], ecx
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001aa1a
xor eax, eax
lea ecx, [ebp - 0x4b4]
push str._verification_code_
push ecx
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x73], eax
mov dword [ebp - 0x6f], eax
mov dword [ebp - 0x6b], eax
mov dword [ebp - 0x67], eax
mov dword [ebp - 0x63], eax
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
lea edx, [ebp - 0x74]
push edx
mov ecx, edi
lea ebx, [ebp - 0x4b4]
call fcn.1001b750
test eax, eax
je 0x1001a0fe
sub esp, 0x1c
lea eax, [ebp - 0x74]
mov ecx, esp
mov dword [ebp - 0x1174], esp
call fcn.10003630
lea esi, [ebp - 0x4d0]
call fcn.10020fd0
add esp, 0x1c
cmp dword [eax + 0x14], 8
jb 0x1001a8eb
mov eax, dword [eax]
mov ebx, dword [ebp - 0x1168]
mov edx, ebx
sub edx, eax
jmp 0x1001a900
movzx ecx, word [eax]
mov word [edx + eax + 0x14c], cx
add eax, 2
test cx, cx
jne 0x1001a900
lea ecx, [ebp - 0x4d0]
call fcn.10003710
mov edx, dword [ebp - 0x1170]
mov esi, dword [ebp - 0x116c]
push edx
lea edi, [ebp - 0x4b4]
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001aa1a
lea eax, [ebp - 0x4b4]
push str._ver_num_
push eax
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001aa1a
mov ecx, edi
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
je 0x1001aa14
mov ecx, dword [ebp - 0x1170]
push ecx
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a05d
lea edx, [ebp - 0x4b4]
push str._text_copy_
push edx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
mov ecx, edi
add ebx, 0x1e4
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
je 0x1001a0fe
mov eax, dword [ebp - 0x1170]
push eax
call fcn.10019830
mov edi, eax
cmp edi, 0xffffffff
je 0x1001a0fe
lea ecx, [ebp - 0x4b4]
push str._print_control_
push ecx
call fcn.10069320
add esp, 8
test eax, eax
je 0x1001a0fe
mov ebx, dword [ebp - 0x1168]
mov ecx, edi
add ebx, 0x1e8
lea edi, [ebp - 0x4b4]
call fcn.1001b610
test eax, eax
je 0x1001a0fe
mov esi, dword [ebp - 0x116c]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10066b1b
mov esp, ebp
pop ebp
ret 4