Function at 0x5152b0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x218c
call fcn.0052c8c0
mov eax, dword [0x5ed284]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0x1000
mov dword [ebp - 0x218c], eax
lea eax, [ebp - 0x1174]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1000
lea eax, [ebp - 0x2174]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x32
lea eax, [ebp - 0x78]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov dword [ebp - 0xc], 0
push 0x32
lea eax, [ebp - 0xac]
movq qword [ebp - 0x14], xmm0
push 0
push eax
movups xmmword [ebp - 0x24], xmm0
mov word [ebp - 8], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x2c], 0
movq qword [ebp - 0x34], xmm0
mov word [ebp - 0x28], 0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp + 8]
add esp, 0x30
sub eax, 1
je 0x516d23
sub eax, 1
je 0x515fad
sub eax, 1
jne 0x516dec
lea eax, [ebp - 0x78]
push eax
call fcn.00516f90
add esp, 4
lea esi, [ebp - 0x77]
xor edi, edi
mov bl, byte [esi]
lea eax, [ebp - 0x2180]
push eax
lea eax, [ebp - 0x78]
mov byte [esi], 0
add eax, edi
push 0x59f388
push eax
call fcn.004c4f90
mov al, byte [ebp - 0x2180]
lea esi, [esi + 1]
mov byte [ebp + edi - 0x44], al
add esp, 0xc
inc edi
mov byte [esi - 1], bl
cmp edi, 7
jl 0x515377
lea eax, [ebp - 0x1174]
mov dword [ebp - 0x3d], 0x70903
push eax
mov dword [ebp - 0x39], 0x6080504
call fcn.005170a0
add esp, 4
test eax, eax
je 0x5153ed
push str.FAILED_getting_TERNION_ID2._Error_Code_12._n
call fcn.00453200
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
cmp byte [ebp - 0x1174], 0x22
lea esi, [ebp - 0x1173]
jne 0x515a83
mov eax, esi
push 0x20
push eax
call sub.VCRUNTIME140.dll_strchr
mov ebx, dword [ebp - 0x218c]
mov ecx, 0x22
add esp, 8
mov dword [ebp - 0x2180], eax
mov word [ebx], cx
test eax, eax
je 0x515a68
cmp esi, eax
jae 0x515a68
mov edi, eax
lea eax, [ebp - 0x110]
sub edi, esi
push edi
push esi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
cmp edi, 0x64
jae 0x516ec3
mov byte [ebp + edi - 0x110], 0
lea esi, [ebp - 0x10f]
xor edi, edi
mov bl, byte [esi]
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x110]
mov byte [esi], 0
add eax, edi
push 0x59f388
push eax
call fcn.004c4f90
mov al, byte [ebp - 0x2184]
lea esi, [esi + 1]
mov byte [ebp + edi - 0x35], al
add esp, 0xc
inc edi
mov byte [esi - 1], bl
cmp edi, 0xc
jl 0x515460
mov al, byte [ebp - 0x44]
xorps xmm0, xmm0
movups xmmword [ebp - 0x24], xmm0
test al, 1
mov edx, 0x10
movq qword [ebp - 0x14], xmm0
psrldq xmm0, 7
movd ecx, xmm0
mov dword [ebp - 0xc], 0
mov word [ebp - 8], 0
movzx ecx, cl
cmovne ecx, edx
mov dword [ebp - 0x217c], ecx
mov byte [ebp - 0x1d], cl
test al, 2
je 0x5154db
or byte [ebp - 0x21], 2
test al, 4
je 0x5154e3
or byte [ebp - 0x18], 2
mov dl, byte [ebp - 0x11]
test al, 8
je 0x5154f0
or dl, 4
mov byte [ebp - 0x11], dl
mov al, byte [ebp - 0x43]
mov ah, byte [ebp - 0x15]
test al, 1
je 0x515500
or ah, 8
mov byte [ebp - 0x15], ah
test al, 2
je 0x515508
or byte [ebp - 0x1e], 0x10
test al, 4
je 0x515510
or byte [ebp - 0x1a], 0x10
mov bh, byte [ebp - 0x10]
test al, 8
je 0x51551d
or bh, 1
mov byte [ebp - 0x10], bh
mov al, byte [ebp - 0x42]
test al, 1
je 0x515530
or ecx, 4
mov dword [ebp - 0x217c], ecx
mov byte [ebp - 0x1d], cl
mov cl, byte [ebp - 0x20]
test al, 2
je 0x51553d
or cl, 8
mov byte [ebp - 0x20], cl
test al, 4
je 0x515547
or dl, 8
mov byte [ebp - 0x11], dl
test al, 8
je 0x515551
or cl, 0x10
mov byte [ebp - 0x20], cl
mov cl, byte [ebp - 0x41]
test cl, 1
je 0x51555d
or byte [ebp - 0x19], 8
mov al, byte [ebp - 0x24]
test cl, 2
je 0x51556a
or al, 8
mov byte [ebp - 0x24], al
mov dh, byte [ebp - 0x1c]
test cl, 4
je 0x515578
or dh, 2
mov byte [ebp - 0x1c], dh
test cl, 8
je 0x515581
or byte [ebp - 0x16], 1
mov cl, byte [ebp - 0x40]
test cl, 1
je 0x51558e
or al, 0x10
mov byte [ebp - 0x24], al
mov bl, byte [ebp - 0x14]
test cl, 2
je 0x51559c
or bl, 0x10
mov byte [ebp - 0x14], bl
test cl, 4
je 0x5155a5
or byte [ebp - 0x17], 8
test cl, 8
je 0x5155ae
or byte [ebp - 0x1f], 0x10
mov cl, byte [ebp - 0x3f]
mov dl, byte [ebp - 0x13]
test cl, 1
je 0x5155bf
or dl, 0x10
mov byte [ebp - 0x13], dl
test cl, 2
je 0x5155ca
or dl, 4
mov byte [ebp - 0x13], dl
test cl, 4
je 0x5155d5
or ah, 2
mov byte [ebp - 0x15], ah
mov ch, byte [ebp - 0x22]
test cl, 8
je 0x5155e3
or ch, 4
mov byte [ebp - 0x22], ch
mov cl, byte [ebp - 0x3e]
test cl, 1
je 0x5155ef
or byte [ebp - 0x23], 4
test cl, 2
je 0x5155fa
or ch, 8
mov byte [ebp - 0x22], ch
test cl, 4
je 0x515603
or byte [ebp - 0xf], 4
test cl, 8
je 0x51560e
or dl, 8
mov byte [ebp - 0x13], dl
mov cl, byte [ebp - 0x3d]
test cl, 1
je 0x51561c
or bl, 4
mov byte [ebp - 0x14], bl
test cl, 2
je 0x515626
or al, 1
mov byte [ebp - 0x24], al
mov bl, byte [ebp - 0x12]
test cl, 4
je 0x515634
or bl, 8
mov byte [ebp - 0x12], bl
test cl, 8
je 0x51563d
or byte [ebp - 0x1a], 4
mov cl, byte [ebp - 0x3c]
test cl, 1
je 0x515649
or byte [ebp - 0xf], 0x10
test cl, 2
je 0x515652
or byte [ebp - 0x23], 2
test cl, 4
je 0x51565b
or byte [ebp - 0x20], 1
test cl, 8
je 0x515666
or dl, 2
mov byte [ebp - 0x13], dl
mov cl, byte [ebp - 0x3b]
test cl, 1
je 0x515674
or dh, 4
mov byte [ebp - 0x1c], dh
test cl, 2
je 0x51567d
or byte [ebp - 0x17], 0x10
test cl, 4
je 0x515686
or byte [ebp - 0x18], 1
test cl, 8
je 0x51568f
or byte [ebp - 0x1f], 8
mov cl, byte [ebp - 0x3a]
test cl, 1
je 0x51569b
or byte [ebp - 0x21], 1
test cl, 2
je 0x5156a4
or byte [ebp - 0x23], 1
test cl, 4
je 0x5156af
or dl, 1
mov byte [ebp - 0x13], dl
test cl, 8
je 0x5156b8
or byte [ebp - 0x1e], 4
mov cl, byte [ebp - 0x39]
test cl, 1
je 0x5156c4
or byte [ebp - 0x1f], 1
mov dl, byte [ebp - 0x1b]
test cl, 2
je 0x5156d2
or dl, 2
mov byte [ebp - 0x1b], dl
test cl, 4
je 0x5156db
or byte [ebp - 0xf], 2
test cl, 8
je 0x5156e4
or byte [ebp - 0x19], 2
mov cl, byte [ebp - 0x38]
test cl, 1
je 0x51570a
mov dword [ebp - 0x2178], eax
mov eax, dword [ebp - 0x217c]
or eax, 2
mov dword [ebp - 0x217c], eax
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x2178]
test cl, 2
je 0x515715
or ah, 1
mov byte [ebp - 0x15], ah
test cl, 4
je 0x515720
or bl, 0x10
mov byte [ebp - 0x12], bl
test cl, 8
je 0x515729
or byte [ebp - 0x18], 4
mov cl, byte [ebp - 0x37]
test cl, 1
je 0x515735
or byte [ebp - 0x21], 8
test cl, 2
je 0x51573e
or byte [ebp - 0x17], 1
test cl, 4
je 0x515749
or dl, 4
mov byte [ebp - 0x1b], dl
test cl, 8
je 0x515752
or byte [ebp - 0x14], 1
mov cl, byte [ebp - 0x36]
test cl, 1
je 0x515760
or bl, 4
mov byte [ebp - 0x12], bl
test cl, 2
je 0x515769
or byte [ebp - 0x11], 1
test cl, 4
je 0x515773
or al, 2
mov byte [ebp - 0x24], al
test cl, 8
je 0x51577c
or byte [ebp - 0x19], 0x10
mov cl, byte [ebp - 0x35]
test cl, 1
je 0x51578a
or bl, 1
mov byte [ebp - 0x12], bl
test cl, 2
je 0x5157ad
mov dword [ebp - 0x2178], eax
mov eax, dword [ebp - 0x217c]
or eax, 1
mov dword [ebp - 0x217c], eax
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x2178]
test cl, 4
je 0x5157b8
or dl, 1
mov byte [ebp - 0x1b], dl
test cl, 8
je 0x5157c3
or bh, 4
mov byte [ebp - 0x10], bh
mov cl, byte [ebp - 0x34]
test cl, 1
je 0x5157cf
or byte [ebp - 0x18], 0x10
test cl, 2
je 0x5157da
or bl, 2
mov byte [ebp - 0x12], bl
test cl, 4
je 0x5157e3
or byte [ebp - 0x16], 0x10
test cl, 8
je 0x5157ec
or byte [ebp - 0x14], 8
mov cl, byte [ebp - 0x33]
test cl, 1
je 0x5157fa
or bh, 0x10
mov byte [ebp - 0x10], bh
test cl, 2
je 0x515805
or ah, 4
mov byte [ebp - 0x15], ah
test cl, 4
je 0x51580e
or byte [ebp - 0x17], 4
test cl, 8
je 0x51581f
mov ebx, dword [ebp - 0x217c]
or bl, 8
mov byte [ebp - 0x1d], bl
mov cl, byte [ebp - 0x32]
test cl, 1
je 0x51582b
or byte [ebp - 0x10], 8
test cl, 2
je 0x515836
or ah, 0x10
mov byte [ebp - 0x15], ah
test cl, 4
je 0x515841
or dl, 0x10
mov byte [ebp - 0x1b], dl
mov bl, byte [ebp - 0x16]
test cl, 8
je 0x51584f
or bl, 8
mov byte [ebp - 0x16], bl
mov cl, byte [ebp - 0x31]
mov bh, byte [ebp - 0x23]
test cl, 1
je 0x515860
or bh, 8
mov byte [ebp - 0x23], bh
test cl, 2
je 0x51586b
or dl, 8
mov byte [ebp - 0x1b], dl
test cl, 4
je 0x515874
or byte [ebp - 0x18], 8
test cl, 8
je 0x51587f
or bl, 2
mov byte [ebp - 0x16], bl
mov cl, byte [ebp - 0x30]
test cl, 1
je 0x51588d
or ch, 0x10
mov byte [ebp - 0x22], ch
test cl, 2
je 0x515896
or byte [ebp - 0x11], 2
mov ah, byte [ebp - 0x1a]
test cl, 4
je 0x5158a4
or ah, 8
mov byte [ebp - 0x1a], ah
test cl, 8
je 0x5158ae
or al, 4
mov byte [ebp - 0x24], al
mov al, byte [ebp - 0x2f]
test al, 1
je 0x5158b9
or byte [ebp - 0x17], 2
test al, 2
je 0x5158c1
or byte [ebp - 0x21], 4
test al, 4
je 0x5158c9
or byte [ebp - 0x19], 1
test al, 8
je 0x5158d1
or byte [ebp - 0x14], 2
mov al, byte [ebp - 0x2e]
test al, 1
je 0x5158de
or dh, 1
mov byte [ebp - 0x1c], dh
test al, 2
je 0x5158e8
or bl, 4
mov byte [ebp - 0x16], bl
mov cl, byte [ebp - 0x1e]
test al, 4
je 0x5158f5
or cl, 2
mov byte [ebp - 0x1e], cl
test al, 8
je 0x5158ff
or cl, 1
mov byte [ebp - 0x1e], cl
mov al, byte [ebp - 0x2d]
test al, 1
je 0x51590c
or ch, 2
mov byte [ebp - 0x22], ch
test al, 2
je 0x515916
or cl, 8
mov byte [ebp - 0x1e], cl
mov dl, byte [ebp - 0x1f]
test al, 4
je 0x515923
or dl, 4
mov byte [ebp - 0x1f], dl
test al, 8
je 0x51592b
or byte [ebp - 0x19], 4
mov al, byte [ebp - 0x2c]
mov cl, byte [ebp - 0x20]
test al, 1
je 0x51593b
or cl, 2
mov byte [ebp - 0x20], cl
test al, 2
je 0x515945
or dl, 2
mov byte [ebp - 0x1f], dl
test al, 4
je 0x51594f
or bh, 0x10
mov byte [ebp - 0x23], bh
test al, 8
je 0x515959
or ah, 1
mov byte [ebp - 0x1a], ah
mov al, byte [ebp - 0x2b]
test al, 1
je 0x515966
or ch, 1
mov byte [ebp - 0x22], ch
test al, 2
je 0x51596e
or byte [ebp - 0xf], 1
test al, 4
je 0x515978
or dh, 0x10
mov byte [ebp - 0x1c], dh
test al, 8
je 0x515982
or ah, 2
mov byte [ebp - 0x1a], ah
mov al, byte [ebp - 0x2a]
test al, 1
je 0x51598d
or byte [ebp - 0x21], 0x10
test al, 2
je 0x515995
or byte [ebp - 0x11], 0x10
test al, 4
je 0x51599f
or cl, 4
mov byte [ebp - 0x20], cl
test al, 8
je 0x5159a9
or dh, 8
mov byte [ebp - 0x1c], dh
xor edx, edx
nop dword [eax + eax]
mov cl, byte [ebp + edx - 0x24]
cmp cl, 0x19
ja 0x5159be
add cl, 0x41
jmp 0x5159c9
mov al, cl
sub al, 0x1a
cmp al, 5
ja 0x5159cd
add cl, 0x19
mov byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 0x16
jl 0x5159b0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x174]
push str.TERNION_ID2_s
push eax
call fcn.004f9620
lea edx, [ebp - 0x174]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x5159f3
mov ebx, dword [ebp - 0x218c]
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x515a05
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x515a20
mov esi, dword [ebp - 0x2180]
mov ax, word [0x5bbf68]
inc esi
push 0x20
push esi
mov word [edi], ax
call sub.VCRUNTIME140.dll_strchr
add esp, 8
mov dword [ebp - 0x2180], eax
test eax, eax
jne 0x515a60
push 0x22
push esi
call sub.VCRUNTIME140.dll_strchr
add esp, 8
mov dword [ebp - 0x2180], eax
test esi, esi
jne 0x515421
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x515a70
sub ecx, edx
mov byte [ebx + ecx - 1], 0x22
jmp 0x516e8d
xor edi, edi
mov bl, byte [esi]
lea eax, [ebp - 0x2178]
push eax
lea eax, [ebp - 0x1174]
mov byte [esi], 0
add eax, edi
push 0x59f388
push eax
call fcn.004c4f90
mov al, byte [ebp - 0x2178]
lea esi, [esi + 1]
mov byte [ebp + edi - 0x35], al
add esp, 0xc
inc edi
mov byte [esi - 1], bl
cmp edi, 0xc
jl 0x515a85
mov al, byte [ebp - 0x44]
mov ah, byte [ebp - 0x1d]
test al, 1
je 0x515acd
or ah, 0x10
mov byte [ebp - 0x1d], ah
test al, 2
je 0x515ad5
or byte [ebp - 0x21], 2
test al, 4
je 0x515add
or byte [ebp - 0x18], 2
mov dl, byte [ebp - 0x11]
test al, 8
je 0x515aea
or dl, 4
mov byte [ebp - 0x11], dl
mov al, byte [ebp - 0x43]
mov dh, byte [ebp - 0x15]
test al, 1
je 0x515afa
or dh, 8
mov byte [ebp - 0x15], dh
test al, 2
je 0x515b02
or byte [ebp - 0x1e], 0x10
test al, 4
je 0x515b0a
or byte [ebp - 0x1a], 0x10
test al, 8
je 0x515b12
or byte [ebp - 0x10], 1
mov al, byte [ebp - 0x42]
test al, 1
je 0x515b1f
or ah, 4
mov byte [ebp - 0x1d], ah
mov cl, byte [ebp - 0x20]
test al, 2
je 0x515b2c
or cl, 8
mov byte [ebp - 0x20], cl
test al, 4
je 0x515b36
or dl, 8
mov byte [ebp - 0x11], dl
test al, 8
je 0x515b40
or cl, 0x10
mov byte [ebp - 0x20], cl
mov cl, byte [ebp - 0x41]
test cl, 1
je 0x515b4c
or byte [ebp - 0x19], 8
mov al, byte [ebp - 0x24]
test cl, 2
je 0x515b59
or al, 8
mov byte [ebp - 0x24], al
mov ch, byte [ebp - 0x1c]
test cl, 4
je 0x515b67
or ch, 2
mov byte [ebp - 0x1c], ch
test cl, 8
je 0x515b75
mov cl, byte [ebp - 0x16]
or cl, 1
mov byte [ebp - 0x16], cl
mov cl, byte [ebp - 0x40]
test cl, 1
je 0x515b82
or al, 0x10
mov byte [ebp - 0x24], al
mov bl, byte [ebp - 0x14]
test cl, 2
je 0x515b90
or bl, 0x10
mov byte [ebp - 0x14], bl
test cl, 4
je 0x515b99
or byte [ebp - 0x17], 8
test cl, 8
je 0x515ba2
or byte [ebp - 0x1f], 0x10
mov dl, byte [ebp - 0x3f]
mov cl, byte [ebp - 0x13]
test dl, 1
je 0x515bb3
or cl, 0x10
mov byte [ebp - 0x13], cl
test dl, 2
je 0x515bbe
or cl, 4
mov byte [ebp - 0x13], cl
test dl, 4
je 0x515bc9
or dh, 2
mov byte [ebp - 0x15], dh
mov bh, byte [ebp - 0x22]
test dl, 8
je 0x515bd7
or bh, 4
mov byte [ebp - 0x22], bh
mov dl, byte [ebp - 0x3e]
test dl, 1
je 0x515be3
or byte [ebp - 0x23], 4
test dl, 2
je 0x515bee
or bh, 8
mov byte [ebp - 0x22], bh
test dl, 4
je 0x515bf7
or byte [ebp - 0xf], 4
test dl, 8
je 0x515c02
or cl, 8
mov byte [ebp - 0x13], cl
mov dl, byte [ebp - 0x3d]
test dl, 1
je 0x515c10
or bl, 4
mov byte [ebp - 0x14], bl
test dl, 2
je 0x515c1a
or al, 1
mov byte [ebp - 0x24], al
mov bl, byte [ebp - 0x12]
test dl, 4
je 0x515c28
or bl, 8
mov byte [ebp - 0x12], bl
test dl, 8
je 0x515c31
or byte [ebp - 0x1a], 4
mov dl, byte [ebp - 0x3c]
test dl, 1
je 0x515c3d
or byte [ebp - 0xf], 0x10
test dl, 2
je 0x515c46
or byte [ebp - 0x23], 2
test dl, 4
je 0x515c4f
or byte [ebp - 0x20], 1
test dl, 8
je 0x515c5a
or cl, 2
mov byte [ebp - 0x13], cl
mov dl, byte [ebp - 0x3b]
test dl, 1
je 0x515c68
or ch, 4
mov byte [ebp - 0x1c], ch
test dl, 2
je 0x515c71
or byte [ebp - 0x17], 0x10
test dl, 4
je 0x515c7a
or byte [ebp - 0x18], 1
test dl, 8
je 0x515c83
or byte [ebp - 0x1f], 8
mov dl, byte [ebp - 0x3a]
test dl, 1
je 0x515c8f
or byte [ebp - 0x21], 1
test dl, 2
je 0x515c98
or byte [ebp - 0x23], 1
test dl, 4
je 0x515ca3
or cl, 1
mov byte [ebp - 0x13], cl
test dl, 8
je 0x515cac
or byte [ebp - 0x1e], 4
mov cl, byte [ebp - 0x39]
test cl, 1
je 0x515cb8
or byte [ebp - 0x1f], 1
mov dl, byte [ebp - 0x1b]
test cl, 2
je 0x515cc6
or dl, 2
mov byte [ebp - 0x1b], dl
test cl, 4
je 0x515ccf
or byte [ebp - 0xf], 2
test cl, 8
je 0x515cd8
or byte [ebp - 0x19], 2
mov cl, byte [ebp - 0x38]
test cl, 1
je 0x515ce6
or ah, 2
mov byte [ebp - 0x1d], ah
test cl, 2
je 0x515cf1
or dh, 1
mov byte [ebp - 0x15], dh
test cl, 4
je 0x515cfc
or bl, 0x10
mov byte [ebp - 0x12], bl
test cl, 8
je 0x515d05
or byte [ebp - 0x18], 4
mov cl, byte [ebp - 0x37]
test cl, 1
je 0x515d11
or byte [ebp - 0x21], 8
test cl, 2
je 0x515d1a
or byte [ebp - 0x17], 1
test cl, 4
je 0x515d25
or dl, 4
mov byte [ebp - 0x1b], dl
test cl, 8
je 0x515d2e
or byte [ebp - 0x14], 1
mov cl, byte [ebp - 0x36]
test cl, 1
je 0x515d3c
or bl, 4
mov byte [ebp - 0x12], bl
test cl, 2
je 0x515d45
or byte [ebp - 0x11], 1
test cl, 4
je 0x515d4f
or al, 2
mov byte [ebp - 0x24], al
test cl, 8
je 0x515d58
or byte [ebp - 0x19], 0x10
mov cl, byte [ebp - 0x35]
test cl, 1
je 0x515d66
or bl, 1
mov byte [ebp - 0x12], bl
test cl, 2
je 0x515d71
or ah, 1
mov byte [ebp - 0x1d], ah
test cl, 4
je 0x515d7c
or dl, 1
mov byte [ebp - 0x1b], dl
test cl, 8
je 0x515d85
or byte [ebp - 0x10], 4
mov cl, byte [ebp - 0x34]
test cl, 1
je 0x515d91
or byte [ebp - 0x18], 0x10
test cl, 2
je 0x515d9c
or bl, 2
mov byte [ebp - 0x12], bl
mov bl, byte [ebp - 0x16]
test cl, 4
je 0x515daa
or bl, 0x10
mov byte [ebp - 0x16], bl
test cl, 8
je 0x515db3
or byte [ebp - 0x14], 8
mov cl, byte [ebp - 0x33]
test cl, 1
je 0x515dbf
or byte [ebp - 0x10], 0x10
test cl, 2
je 0x515dca
or dh, 4
mov byte [ebp - 0x15], dh
test cl, 4
je 0x515dd3
or byte [ebp - 0x17], 4
test cl, 8
je 0x515dde
or ah, 8
mov byte [ebp - 0x1d], ah
mov cl, byte [ebp - 0x32]
test cl, 1
je 0x515dea
or byte [ebp - 0x10], 8
test cl, 2
je 0x515df5
or dh, 0x10
mov byte [ebp - 0x15], dh
test cl, 4
je 0x515e00
or dl, 0x10
mov byte [ebp - 0x1b], dl
test cl, 8
je 0x515e0b
or bl, 8
mov byte [ebp - 0x16], bl
mov cl, byte [ebp - 0x31]
mov dh, byte [ebp - 0x23]
test cl, 1
je 0x515e1c
or dh, 8
mov byte [ebp - 0x23], dh
test cl, 2
je 0x515e27
or dl, 8
mov byte [ebp - 0x1b], dl
test cl, 4
je 0x515e30
or byte [ebp - 0x18], 8
test cl, 8
je 0x515e3b
or bl, 2
mov byte [ebp - 0x16], bl
mov cl, byte [ebp - 0x30]
test cl, 1
je 0x515e49
or bh, 0x10
mov byte [ebp - 0x22], bh
mov dl, byte [ebp - 0x11]
test cl, 2
je 0x515e57
or dl, 2
mov byte [ebp - 0x11], dl
mov bl, byte [ebp - 0x1a]
test cl, 4
je 0x515e65
or bl, 8
mov byte [ebp - 0x1a], bl
test cl, 8
je 0x515e6f
or al, 4
mov byte [ebp - 0x24], al
mov al, byte [ebp - 0x2f]
test al, 1
je 0x515e7a
or byte [ebp - 0x17], 2
test al, 2
je 0x515e82
or byte [ebp - 0x21], 4
test al, 4
je 0x515e8a
or byte [ebp - 0x19], 1
test al, 8
je 0x515e92
or byte [ebp - 0x14], 2
mov al, byte [ebp - 0x2e]
test al, 1
je 0x515e9f
or ch, 1
mov byte [ebp - 0x1c], ch
test al, 2
je 0x515eac
mov cl, byte [ebp - 0x16]
or cl, 4
mov byte [ebp - 0x16], cl
mov cl, byte [ebp - 0x1e]
test al, 4
je 0x515eb9
or cl, 2
mov byte [ebp - 0x1e], cl
test al, 8
je 0x515ec3
or cl, 1
mov byte [ebp - 0x1e], cl
mov al, byte [ebp - 0x2d]
test al, 1
je 0x515ed0
or bh, 2
mov byte [ebp - 0x22], bh
test al, 2
je 0x515eda
or cl, 8
mov byte [ebp - 0x1e], cl
mov ah, byte [ebp - 0x1f]
test al, 4
je 0x515ee7
or ah, 4
mov byte [ebp - 0x1f], ah
test al, 8
je 0x515eef
or byte [ebp - 0x19], 4
mov al, byte [ebp - 0x2c]
mov cl, byte [ebp - 0x20]
test al, 1
je 0x515eff
or cl, 2
mov byte [ebp - 0x20], cl
test al, 2
je 0x515f09
or ah, 2
mov byte [ebp - 0x1f], ah
test al, 4
je 0x515f13
or dh, 0x10
mov byte [ebp - 0x23], dh
test al, 8
je 0x515f1d
or bl, 1
mov byte [ebp - 0x1a], bl
mov al, byte [ebp - 0x2b]
test al, 1
je 0x515f2a
or bh, 1
mov byte [ebp - 0x22], bh
test al, 2
je 0x515f32
or byte [ebp - 0xf], 1
test al, 4
je 0x515f3c
or ch, 0x10
mov byte [ebp - 0x1c], ch
test al, 8
je 0x515f46
or bl, 2
mov byte [ebp - 0x1a], bl
mov al, byte [ebp - 0x2a]
test al, 1
je 0x515f51
or byte [ebp - 0x21], 0x10
test al, 2
je 0x515f5b
or dl, 0x10
mov byte [ebp - 0x11], dl
test al, 4
je 0x515f65
or cl, 4
mov byte [ebp - 0x20], cl
test al, 8
je 0x515f6f
or ch, 8
mov byte [ebp - 0x1c], ch
xor edx, edx
mov cl, byte [ebp + edx - 0x24]
cmp cl, 0x19
ja 0x515f7f
add cl, 0x41
jmp 0x515f8a
mov al, cl
sub al, 0x1a
cmp al, 5
ja 0x515f8e
add cl, 0x19
mov byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 0x16
jl 0x515f71
lea eax, [ebp - 0x24]
push eax
push str.TERNION_ID2_s
push dword [ebp - 0x218c]
call fcn.004f9620
jmp 0x516e8a
lea eax, [ebp - 0x78]
push eax
call fcn.00516f90
add esp, 4
lea esi, [ebp - 0x77]
xor edi, edi
nop
mov bl, byte [esi]
lea eax, [ebp - 0x2178]
push eax
lea eax, [ebp - 0x78]
mov byte [esi], 0
add eax, edi
push 0x59f388
push eax
call fcn.004c4f90
mov al, byte [ebp - 0x2178]
lea esi, [esi + 1]
mov byte [ebp + edi - 0x44], al
add esp, 0xc
inc edi
mov byte [esi - 1], bl
cmp edi, 7
jl 0x515fc0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x2178]
push eax
push 0
push 0
push 0x5a7670
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
jne 0x516037
push str.FAILED_getting_TERNION_ID._Error_Code_8._n
call fcn.00453200
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x2178]
lea eax, [ebp - 0x2174]
push 0x59f388
push eax
call fcn.004f9620
lea ecx, [ebp - 0x2174]
add esp, 0xc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x516060
sub ecx, edx
cmp ecx, 8
jge 0x516093
push 6
push 8
push 4
push 0
push 5
push 3
push 9
push 7
lea eax, [ebp - 0x2174]
push eax
push str._s_d_d_d_d_d_d_d_d
push eax
call fcn.004f9620
add esp, 0x2c
mov byte [ebp - 0x216c], 0
lea esi, [ebp - 0x2173]
xor edi, edi
mov bl, byte [esi]
lea eax, [ebp - 0x2178]
push eax
lea eax, [ebp - 0x2174]
mov byte [esi], 0
add eax, edi
push 0x59f388
push eax
call fcn.004c4f90
mov al, byte [ebp - 0x2178]
lea esi, [esi + 1]
mov byte [ebp + edi - 0x3d], al
add esp, 0xc
inc edi
mov byte [esi - 1], bl
cmp edi, 8
jl 0x5160a2
lea eax, [ebp - 0x1174]
push eax
call fcn.005170a0
add esp, 4
test eax, eax
je 0x51610d
push str.FAILED_getting_TERNION_ID._Error_Code_12._n
call fcn.00453200
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
cmp byte [ebp - 0x1174], 0x22
lea esi, [ebp - 0x1173]
jne 0x5167e3
mov eax, esi
push 0x20
push eax
call sub.VCRUNTIME140.dll_strchr
mov ebx, dword [ebp - 0x218c]
mov ecx, 0x22
add esp, 8
mov dword [ebp - 0x2180], eax
mov word [ebx], cx
test eax, eax
je 0x5167c8
cmp esi, eax
jae 0x5167c8
mov edi, eax
lea eax, [ebp - 0x110]
sub edi, esi
push edi
push esi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
cmp edi, 0x64
jae 0x516ec3
mov byte [ebp + edi - 0x110], 0
lea esi, [ebp - 0x10f]
xor edi, edi
mov bl, byte [esi]
lea eax, [ebp - 0x2178]
push eax
lea eax, [ebp - 0x110]
mov byte [esi], 0
add eax, edi
push 0x59f388
push eax
call fcn.004c4f90
mov al, byte [ebp - 0x2178]
lea esi, [esi + 1]
mov byte [ebp + edi - 0x35], al
add esp, 0xc
inc edi
mov byte [esi - 1], bl
cmp edi, 0xc
jl 0x516180
mov al, byte [ebp - 0x44]
xorps xmm0, xmm0
movups xmmword [ebp - 0x24], xmm0
mov bl, byte [ebp - 0x15]
test al, 1
movq qword [ebp - 0x14], xmm0
mov edx, 0x10
psrldq xmm0, 6
movd ecx, xmm0
mov dword [ebp - 0xc], 0
mov word [ebp - 8], 0
movzx ecx, cl
cmovne ecx, edx
mov dword [ebp - 0x217c], ecx
mov byte [ebp - 0x1e], cl
test al, 2
je 0x516200
or bl, 8
mov byte [ebp - 0x15], bl
test al, 4
je 0x516208
or byte [ebp - 0x10], 1
mov ah, byte [ebp - 0x1a]
test al, 8
je 0x516215
or ah, 0x10
mov byte [ebp - 0x1a], ah
mov al, byte [ebp - 0x43]
test al, 1
je 0x516220
or byte [ebp - 0x21], 2
mov ch, byte [ebp - 0x1d]
test al, 2
je 0x51622c
or ch, dl
mov byte [ebp - 0x1d], ch
mov dh, byte [ebp - 0x11]
test al, 4
je 0x516239
or dh, 4
mov byte [ebp - 0x11], dh
test al, 8
je 0x516241
or byte [ebp - 0x18], 2
mov cl, byte [ebp - 0x42]
mov al, byte [ebp - 0x24]
test cl, 1
je 0x516251
or al, 8
mov byte [ebp - 0x24], al
test cl, 2
je 0x51625a
or byte [ebp - 0x19], 8
test cl, 4
je 0x516263
or byte [ebp - 0x16], 1
test cl, 8
je 0x51626c
or byte [ebp - 0x1c], 2
mov cl, byte [ebp - 0x41]
mov dl, byte [ebp - 0x20]
test cl, 1
je 0x51627d
or dl, 8
mov byte [ebp - 0x20], dl
test cl, 2
je 0x516288
or ch, 4
mov byte [ebp - 0x1d], ch
test cl, 4
je 0x516293
or dl, 0x10
mov byte [ebp - 0x20], dl
test cl, 8
je 0x51629e
or dh, 8
mov byte [ebp - 0x11], dh
mov cl, byte [ebp - 0x40]
mov dl, byte [ebp - 0x13]
test cl, 1
je 0x5162af
or dl, 4
mov byte [ebp - 0x13], dl
test cl, 2
je 0x5162ba
or dl, 0x10
mov byte [ebp - 0x13], dl
test cl, 4
je 0x5162c3
or byte [ebp - 0x22], 4
test cl, 8
je 0x5162ce
or bl, 2
mov byte [ebp - 0x15], bl
mov cl, byte [ebp - 0x3f]
mov bh, byte [ebp - 0x14]
test cl, 1
je 0x5162df
or bh, 0x10
mov byte [ebp - 0x14], bh
test cl, 2
je 0x5162e9
or al, 0x10
mov byte [ebp - 0x24], al
test cl, 4
je 0x5162f2
or byte [ebp - 0x1f], 0x10
mov dh, byte [ebp - 0x17]
test cl, 8
je 0x516300
or dh, 8
mov byte [ebp - 0x17], dh
mov cl, byte [ebp - 0x3e]
test cl, 1
je 0x51630d
or al, 1
mov byte [ebp - 0x24], al
test cl, 2
je 0x516318
or bh, 4
mov byte [ebp - 0x14], bh
test cl, 4
je 0x516323
or ah, 4
mov byte [ebp - 0x1a], ah
mov ah, byte [ebp - 0x12]
test cl, 8
je 0x516331
or ah, 8
mov byte [ebp - 0x12], ah
mov cl, byte [ebp - 0x3d]
test cl, 1
je 0x51633d
or byte [ebp - 0x22], 8
test cl, 2
je 0x516346
or byte [ebp - 0x23], 4
test cl, 4
je 0x516351
or dl, 8
mov byte [ebp - 0x13], dl
mov bl, byte [ebp - 0xf]
test cl, 8
je 0x51635f
or bl, 4
mov byte [ebp - 0xf], bl
mov cl, byte [ebp - 0x3c]
test cl, 1
je 0x51636d
or dh, 0x10
mov byte [ebp - 0x17], dh
test cl, 2
je 0x516376
or byte [ebp - 0x1c], 4
test cl, 4
je 0x51637f
or byte [ebp - 0x1f], 8
test cl, 8
je 0x516388
or byte [ebp - 0x18], 1
mov cl, byte [ebp - 0x3b]
test cl, 1
je 0x516394
or byte [ebp - 0x23], 2
test cl, 2
je 0x51639f
or bl, 0x10
mov byte [ebp - 0xf], bl
test cl, 4
je 0x5163aa
or dl, 2
mov byte [ebp - 0x13], dl
test cl, 8
je 0x5163b3
or byte [ebp - 0x20], 1
mov cl, byte [ebp - 0x3a]
mov bl, byte [ebp - 0x1b]
test cl, 1
je 0x5163c4
or bl, 2
mov byte [ebp - 0x1b], bl
test cl, 2
je 0x5163cd
or byte [ebp - 0x1f], 1
test cl, 4
je 0x5163d6
or byte [ebp - 0x19], 2
test cl, 8
je 0x5163df
or byte [ebp - 0xf], 2
mov cl, byte [ebp - 0x39]
test cl, 1
je 0x5163eb
or byte [ebp - 0x23], 1
test cl, 2
je 0x5163f4
or byte [ebp - 0x21], 1
test cl, 4
je 0x516417
mov dword [ebp - 0x2184], eax
mov eax, dword [ebp - 0x217c]
or eax, 4
mov dword [ebp - 0x217c], eax
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x2184]
test cl, 8
je 0x516422
or dl, 1
mov byte [ebp - 0x13], dl
mov cl, byte [ebp - 0x38]
test cl, 1
je 0x516430
or dh, 1
mov byte [ebp - 0x17], dh
test cl, 2
je 0x516439
or byte [ebp - 0x21], 8
test cl, 4
je 0x516444
or bh, 1
mov byte [ebp - 0x14], bh
test cl, 8
je 0x51644f
or bl, 4
mov byte [ebp - 0x1b], bl
mov cl, byte [ebp - 0x37]
mov dl, byte [ebp - 0x15]
test cl, 1
je 0x516460
or dl, 1
mov byte [ebp - 0x15], dl
test cl, 2
je 0x51646b
or ch, 2
mov byte [ebp - 0x1d], ch
test cl, 4
je 0x516474
or byte [ebp - 0x18], 4
test cl, 8
je 0x51647f
or ah, 0x10
mov byte [ebp - 0x12], ah
mov cl, byte [ebp - 0x36]
test cl, 1
je 0x51648d
or ch, 1
mov byte [ebp - 0x1d], ch
test cl, 2
je 0x516498
or ah, 1
mov byte [ebp - 0x12], ah
test cl, 4
je 0x5164a1
or byte [ebp - 0x10], 4
test cl, 8
je 0x5164ac
or bl, 1
mov byte [ebp - 0x1b], bl
mov cl, byte [ebp - 0x35]
test cl, 1
je 0x5164b8
or byte [ebp - 0x11], 1
test cl, 2
je 0x5164c3
or ah, 4
mov byte [ebp - 0x12], ah
test cl, 4
je 0x5164cc
or byte [ebp - 0x19], 0x10
test cl, 8
je 0x5164d6
or al, 2
mov byte [ebp - 0x24], al
mov cl, byte [ebp - 0x34]
test cl, 1
je 0x5164e4
or dl, 4
mov byte [ebp - 0x15], dl
test cl, 2
je 0x5164ed
or byte [ebp - 0x10], 0x10
test cl, 4
je 0x5164f8
or ch, 8
mov byte [ebp - 0x1d], ch
test cl, 8
je 0x516503
or dh, 4
mov byte [ebp - 0x17], dh
mov cl, byte [ebp - 0x33]
test cl, 1
je 0x516511
or ah, 2
mov byte [ebp - 0x12], ah
mov ah, byte [ebp - 0x18]
test cl, 2
je 0x51651f
or ah, 0x10
mov byte [ebp - 0x18], ah
test cl, 4
je 0x51652a
or bh, 8
mov byte [ebp - 0x14], bh
test cl, 8
je 0x516533
or byte [ebp - 0x16], 0x10
mov cl, byte [ebp - 0x32]
test cl, 1
je 0x516541
or bl, 8
mov byte [ebp - 0x1b], bl
mov ch, byte [ebp - 0x23]
test cl, 2
je 0x51654f
or ch, 8
mov byte [ebp - 0x23], ch
test cl, 4
je 0x516558
or byte [ebp - 0x16], 2
test cl, 8
je 0x516563
or ah, 8
mov byte [ebp - 0x18], ah
mov cl, byte [ebp - 0x31]
test cl, 1
je 0x516571
or dl, 0x10
mov byte [ebp - 0x15], dl
test cl, 2
je 0x51657a
or byte [ebp - 0x10], 8
test cl, 4
je 0x516583
or byte [ebp - 0x16], 8
test cl, 8
je 0x51658e
or bl, 0x10
mov byte [ebp - 0x1b], bl
mov cl, byte [ebp - 0x30]
test cl, 1
je 0x51659a
or byte [ebp - 0x21], 4
test cl, 2
je 0x5165a5
or dh, 2
mov byte [ebp - 0x17], dh
test cl, 4
je 0x5165b0
or bh, 2
mov byte [ebp - 0x14], bh
mov bl, byte [ebp - 0x19]
test cl, 8
je 0x5165be
or bl, 1
mov byte [ebp - 0x19], bl
mov cl, byte [ebp - 0x2f]
mov dh, byte [ebp - 0x11]
test cl, 1
je 0x5165cf
or dh, 2
mov byte [ebp - 0x11], dh
mov dl, byte [ebp - 0x22]
test cl, 2
je 0x5165dd
or dl, 0x10
mov byte [ebp - 0x22], dl
test cl, 4
je 0x5165e7
or al, 4
mov byte [ebp - 0x24], al
test cl, 8
mov cl, byte [ebp - 0x1a]
je 0x5165f5
or cl, 8
mov byte [ebp - 0x1a], cl
mov al, byte [ebp - 0x2e]
test al, 1
je 0x51661a
mov dword [ebp - 0x2184], eax
mov eax, dword [ebp - 0x217c]
or eax, 8
mov dword [ebp - 0x217c], eax
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x2184]
test al, 2
je 0x516624
or dl, 2
mov byte [ebp - 0x22], dl
test al, 4
je 0x51662e
or bl, 4
mov byte [ebp - 0x19], bl
mov ah, byte [ebp - 0x1f]
test al, 8
je 0x51663b
or ah, 4
mov byte [ebp - 0x1f], ah
mov al, byte [ebp - 0x2d]
test al, 1
je 0x516646
or byte [ebp - 0x16], 4
mov bl, byte [ebp - 0x1c]
test al, 2
je 0x516653
or bl, 1
mov byte [ebp - 0x1c], bl
test al, 4
je 0x516675
mov dword [ebp - 0x2184], eax
mov eax, dword [ebp - 0x217c]
or eax, 1
mov dword [ebp - 0x217c], eax
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x2184]
test al, 8
je 0x516690
mov dword [ebp - 0x2184], eax
mov eax, dword [ebp - 0x217c]
or al, 2
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x2184]
mov al, byte [ebp - 0x2c]
test al, 1
je 0x51669b
or byte [ebp - 0xf], 1
test al, 2
je 0x5166a5
or dl, 1
mov byte [ebp - 0x22], dl
test al, 4
je 0x5166af
or cl, 2
mov byte [ebp - 0x1a], cl
test al, 8
je 0x5166b9
or bl, 0x10
mov byte [ebp - 0x1c], bl
mov al, byte [ebp - 0x2b]
test al, 1
je 0x5166c6
or ah, 2
mov byte [ebp - 0x1f], ah
mov dl, byte [ebp - 0x20]
test al, 2
je 0x5166d3
or dl, 2
mov byte [ebp - 0x20], dl
test al, 4
je 0x5166dd
or cl, 1
mov byte [ebp - 0x1a], cl
test al, 8
je 0x5166e7
or ch, 0x10
mov byte [ebp - 0x23], ch
mov al, byte [ebp - 0x2a]
test al, 1
je 0x5166f4
or dh, 0x10
mov byte [ebp - 0x11], dh
test al, 2
je 0x5166fc
or byte [ebp - 0x21], 0x10
test al, 4
je 0x516706
or bl, 8
mov byte [ebp - 0x1c], bl
test al, 8
je 0x516710
or dl, 4
mov byte [ebp - 0x20], dl
xor edx, edx
mov cl, byte [ebp + edx - 0x24]
cmp cl, 0x19
ja 0x516720
add cl, 0x41
jmp 0x51672b
mov al, cl
sub al, 0x1a
cmp al, 5
ja 0x51672f
add cl, 0x19
mov byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 0x16
jl 0x516712
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x174]
push str.TERNION_ID_s
push eax
call fcn.004f9620
lea edx, [ebp - 0x174]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x516755
mov ebx, dword [ebp - 0x218c]
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x516767
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x516780
mov esi, dword [ebp - 0x2180]
mov ax, word [0x5bbf68]
inc esi
push 0x20
push esi
mov word [edi], ax
call sub.VCRUNTIME140.dll_strchr
add esp, 8
mov dword [ebp - 0x2180], eax
test eax, eax
jne 0x5167c0
push 0x22
push esi
call sub.VCRUNTIME140.dll_strchr
add esp, 8
mov dword [ebp - 0x2180], eax
test esi, esi
jne 0x516141
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5167d0
sub ecx, edx
mov byte [ebx + ecx - 1], 0x22
jmp 0x516e8d
xor edi, edi
mov bl, byte [esi]
lea eax, [ebp - 0x2178]
push eax
lea eax, [ebp - 0x1174]
mov byte [esi], 0
add eax, edi
push 0x59f388
push eax
call fcn.004c4f90
mov al, byte [ebp - 0x2178]
lea esi, [esi + 1]
mov byte [ebp + edi - 0x35], al
add esp, 0xc
inc edi
mov byte [esi - 1], bl
cmp edi, 0xc
jl 0x5167e5
mov al, byte [ebp - 0x44]
test al, 1
je 0x516828
or byte [ebp - 0x1e], 0x10
mov bh, byte [ebp - 0x15]
test al, 2
je 0x516835
or bh, 8
mov byte [ebp - 0x15], bh
test al, 4
je 0x51683d
or byte [ebp - 0x10], 1
mov dh, byte [ebp - 0x1a]
test al, 8
je 0x51684a
or dh, 0x10
mov byte [ebp - 0x1a], dh
mov al, byte [ebp - 0x43]
test al, 1
je 0x516855
or byte [ebp - 0x21], 2
mov ch, byte [ebp - 0x1d]
test al, 2
je 0x516862
or ch, 0x10
mov byte [ebp - 0x1d], ch
mov ah, byte [ebp - 0x11]
test al, 4
je 0x51686f
or ah, 4
mov byte [ebp - 0x11], ah
test al, 8
je 0x516877
or byte [ebp - 0x18], 2
mov cl, byte [ebp - 0x42]
mov al, byte [ebp - 0x24]
test cl, 1
je 0x516887
or al, 8
mov byte [ebp - 0x24], al
test cl, 2
je 0x516890
or byte [ebp - 0x19], 8
test cl, 4
je 0x516899
or byte [ebp - 0x16], 1
mov bl, byte [ebp - 0x1c]
test cl, 8
je 0x5168a7
or bl, 2
mov byte [ebp - 0x1c], bl
mov cl, byte [ebp - 0x41]
mov dl, byte [ebp - 0x20]
test cl, 1
je 0x5168b8
or dl, 8
mov byte [ebp - 0x20], dl
test cl, 2
je 0x5168c3
or ch, 4
mov byte [ebp - 0x1d], ch
test cl, 4
je 0x5168ce
or dl, 0x10
mov byte [ebp - 0x20], dl
test cl, 8
je 0x5168d9
or ah, 8
mov byte [ebp - 0x11], ah
mov cl, byte [ebp - 0x40]
mov dl, byte [ebp - 0x13]
test cl, 1
je 0x5168ea
or dl, 4
mov byte [ebp - 0x13], dl
test cl, 2
je 0x5168f5
or dl, 0x10
mov byte [ebp - 0x13], dl
test cl, 4
je 0x5168fe
or byte [ebp - 0x22], 4
test cl, 8
je 0x516909
or bh, 2
mov byte [ebp - 0x15], bh
mov cl, byte [ebp - 0x3f]
mov ah, byte [ebp - 0x14]
test cl, 1
je 0x51691a
or ah, 0x10
mov byte [ebp - 0x14], ah
test cl, 2
je 0x516924
or al, 0x10
mov byte [ebp - 0x24], al
test cl, 4
je 0x51692d
or byte [ebp - 0x1f], 0x10
test cl, 8
je 0x516936
or byte [ebp - 0x17], 8
mov cl, byte [ebp - 0x3e]
test cl, 1
je 0x516943
or al, 1
mov byte [ebp - 0x24], al
test cl, 2
je 0x51694e
or ah, 4
mov byte [ebp - 0x14], ah
test cl, 4
je 0x516959
or dh, 4
mov byte [ebp - 0x1a], dh
mov ah, byte [ebp - 0x12]
test cl, 8
je 0x516967
or ah, 8
mov byte [ebp - 0x12], ah
mov cl, byte [ebp - 0x3d]
test cl, 1
je 0x516973
or byte [ebp - 0x22], 8
test cl, 2
je 0x51697c
or byte [ebp - 0x23], 4
test cl, 4
je 0x516987
or dl, 8
mov byte [ebp - 0x13], dl
test cl, 8
je 0x516990
or byte [ebp - 0xf], 4
mov cl, byte [ebp - 0x3c]
test cl, 1
je 0x51699c
or byte [ebp - 0x17], 0x10
test cl, 2
je 0x5169a7
or bl, 4
mov byte [ebp - 0x1c], bl
test cl, 4
je 0x5169b0
or byte [ebp - 0x1f], 8
test cl, 8
je 0x5169b9
or byte [ebp - 0x18], 1
mov cl, byte [ebp - 0x3b]
test cl, 1
je 0x5169c5
or byte [ebp - 0x23], 2
test cl, 2
je 0x5169ce
or byte [ebp - 0xf], 0x10
test cl, 4
je 0x5169d9
or dl, 2
mov byte [ebp - 0x13], dl
test cl, 8
je 0x5169e2
or byte [ebp - 0x20], 1
mov cl, byte [ebp - 0x3a]
mov bl, byte [ebp - 0x1b]
test cl, 1
je 0x5169f3
or bl, 2
mov byte [ebp - 0x1b], bl
test cl, 2
je 0x5169fc
or byte [ebp - 0x1f], 1
test cl, 4
je 0x516a05
or byte [ebp - 0x19], 2
test cl, 8
je 0x516a0e
or byte [ebp - 0xf], 2
mov cl, byte [ebp - 0x39]
test cl, 1
je 0x516a1a
or byte [ebp - 0x23], 1
test cl, 2
je 0x516a23
or byte [ebp - 0x21], 1
test cl, 4
je 0x516a2c
or byte [ebp - 0x1e], 4
test cl, 8
je 0x516a37
or dl, 1
mov byte [ebp - 0x13], dl
mov cl, byte [ebp - 0x38]
mov dl, byte [ebp - 0x17]
test cl, 1
je 0x516a48
or dl, 1
mov byte [ebp - 0x17], dl
test cl, 2
je 0x516a51
or byte [ebp - 0x21], 8
test cl, 4
je 0x516a5a
or byte [ebp - 0x14], 1
test cl, 8
je 0x516a65
or bl, 4
mov byte [ebp - 0x1b], bl
mov cl, byte [ebp - 0x37]
test cl, 1
je 0x516a73
or bh, 1
mov byte [ebp - 0x15], bh
test cl, 2
je 0x516a7e
or ch, 2
mov byte [ebp - 0x1d], ch
test cl, 4
je 0x516a87
or byte [ebp - 0x18], 4
test cl, 8
je 0x516a92
or ah, 0x10
mov byte [ebp - 0x12], ah
mov cl, byte [ebp - 0x36]
test cl, 1
je 0x516aa0
or ch, 1
mov byte [ebp - 0x1d], ch
test cl, 2
je 0x516aab
or ah, 1
mov byte [ebp - 0x12], ah
test cl, 4
je 0x516ab4
or byte [ebp - 0x10], 4
test cl, 8
je 0x516abf
or bl, 1
mov byte [ebp - 0x1b], bl
mov cl, byte [ebp - 0x35]
test cl, 1
je 0x516acb
or byte [ebp - 0x11], 1
test cl, 2
je 0x516ad6
or ah, 4
mov byte [ebp - 0x12], ah
test cl, 4
je 0x516adf
or byte [ebp - 0x19], 0x10
test cl, 8
je 0x516ae9
or al, 2
mov byte [ebp - 0x24], al
mov cl, byte [ebp - 0x34]
test cl, 1
je 0x516af7
or bh, 4
mov byte [ebp - 0x15], bh
test cl, 2
je 0x516b00
or byte [ebp - 0x10], 0x10
test cl, 4
je 0x516b0b
or ch, 8
mov byte [ebp - 0x1d], ch
test cl, 8
je 0x516b16
or dl, 4
mov byte [ebp - 0x17], dl
mov cl, byte [ebp - 0x33]
test cl, 1
je 0x516b24
or ah, 2
mov byte [ebp - 0x12], ah
mov ch, byte [ebp - 0x18]
test cl, 2
je 0x516b32
or ch, 0x10
mov byte [ebp - 0x18], ch
mov ah, byte [ebp - 0x14]
test cl, 4
je 0x516b40
or ah, 8
mov byte [ebp - 0x14], ah
test cl, 8
je 0x516b49
or byte [ebp - 0x16], 0x10
mov cl, byte [ebp - 0x32]
test cl, 1
je 0x516b57
or bl, 8
mov byte [ebp - 0x1b], bl
test cl, 2
je 0x516b60
or byte [ebp - 0x23], 8
test cl, 4
je 0x516b69
or byte [ebp - 0x16], 2
test cl, 8
je 0x516b74
or ch, 8
mov byte [ebp - 0x18], ch
mov cl, byte [ebp - 0x31]
test cl, 1
je 0x516b82
or bh, 0x10
mov byte [ebp - 0x15], bh
test cl, 2
je 0x516b8b
or byte [ebp - 0x10], 8
mov bh, byte [ebp - 0x16]
test cl, 4
je 0x516b99
or bh, 8
mov byte [ebp - 0x16], bh
test cl, 8
je 0x516ba4
or bl, 0x10
mov byte [ebp - 0x1b], bl
mov cl, byte [ebp - 0x30]
test cl, 1
je 0x516bb0
or byte [ebp - 0x21], 4
test cl, 2
je 0x516bbb
or dl, 2
mov byte [ebp - 0x17], dl
test cl, 4
je 0x516bc6
or ah, 2
mov byte [ebp - 0x14], ah
mov ah, byte [ebp - 0x19]
test cl, 8
je 0x516bd4
or ah, 1
mov byte [ebp - 0x19], ah
mov cl, byte [ebp - 0x2f]
mov ch, byte [ebp - 0x11]
test cl, 1
je 0x516be5
or ch, 2
mov byte [ebp - 0x11], ch
mov bl, byte [ebp - 0x22]
test cl, 2
je 0x516bf3
or bl, 0x10
mov byte [ebp - 0x22], bl
test cl, 4
je 0x516bfd
or al, 4
mov byte [ebp - 0x24], al
test cl, 8
je 0x516c08
or dh, 8
mov byte [ebp - 0x1a], dh
mov al, byte [ebp - 0x2e]
mov dl, byte [ebp - 0x1e]
test al, 1
je 0x516c18
or dl, 8
mov byte [ebp - 0x1e], dl
test al, 2
je 0x516c22
or bl, 2
mov byte [ebp - 0x22], bl
test al, 4
je 0x516c2c
or ah, 4
mov byte [ebp - 0x19], ah
mov ah, byte [ebp - 0x1f]
test al, 8
je 0x516c39
or ah, 4
mov byte [ebp - 0x1f], ah
mov al, byte [ebp - 0x2d]
test al, 1
je 0x516c46
or bh, 4
mov byte [ebp - 0x16], bh
mov cl, byte [ebp - 0x1c]
test al, 2
je 0x516c53
or cl, 1
mov byte [ebp - 0x1c], cl
test al, 4
je 0x516c5d
or dl, 1
mov byte [ebp - 0x1e], dl
test al, 8
je 0x516c67
or dl, 2
mov byte [ebp - 0x1e], dl
mov al, byte [ebp - 0x2c]
test al, 1
je 0x516c72
or byte [ebp - 0xf], 1
test al, 2
je 0x516c7c
or bl, 1
mov byte [ebp - 0x22], bl
test al, 4
je 0x516c86
or dh, 2
mov byte [ebp - 0x1a], dh
test al, 8
je 0x516c90
or cl, 0x10
mov byte [ebp - 0x1c], cl
mov al, byte [ebp - 0x2b]
test al, 1
je 0x516c9d
or ah, 2
mov byte [ebp - 0x1f], ah
mov dl, byte [ebp - 0x20]
test al, 2
je 0x516caa
or dl, 2
mov byte [ebp - 0x20], dl
test al, 4
je 0x516cb4
or dh, 1
mov byte [ebp - 0x1a], dh
test al, 8
je 0x516cbc
or byte [ebp - 0x23], 0x10
mov al, byte [ebp - 0x2a]
test al, 1
je 0x516cc9
or ch, 0x10
mov byte [ebp - 0x11], ch
test al, 2
je 0x516cd1
or byte [ebp - 0x21], 0x10
test al, 4
je 0x516cdb
or cl, 8
mov byte [ebp - 0x1c], cl
test al, 8
je 0x516ce5
or dl, 4
mov byte [ebp - 0x20], dl
xor edx, edx
mov cl, byte [ebp + edx - 0x24]
cmp cl, 0x19
ja 0x516cf5
add cl, 0x41
jmp 0x516d00
mov al, cl
sub al, 0x1a
cmp al, 5
ja 0x516d04
add cl, 0x19
mov byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 0x16
jl 0x516ce7
lea eax, [ebp - 0x24]
push eax
push str.TERNION_ID_s
push dword [ebp - 0x218c]
call fcn.004f9620
jmp 0x516e8a
cmp dword [0x5f9730], 0
jne 0x516dc7
push 0x404
push 0x5f9738
call fcn.00401000
test ax, ax
jne 0x516dec
push 0x5f9738
call fcn.00401060
test ax, ax
jne 0x516dec
push 0x5a7674
push 0x5f9738
call fcn.004010c0
test ax, ax
jne 0x516dec
push 0
push 0x5f9738
call fcn.004011e0
test ax, ax
jne 0x516dec
xor esi, esi
nop word [eax + eax]
push 0x7e8a
push 0x5f9738
call fcn.00401120
test ax, ax
je 0x516dbd
inc esi
cmp esi, 5
jl 0x516d90
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
mov dword [0x5f9730], 1
lea eax, [ebp - 0x2188]
push eax
push 8
push 0x5f9738
call fcn.00401180
test ax, ax
je 0x516dff
push str.Error_reading_FLAMES_dongle_information._code:_1_n
call fcn.00453200
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
movsx ebx, word [ebp - 0x2188]
xor esi, esi
mov edi, 9
test ebx, ebx
jle 0x516e43
lea eax, [ebp - 0x2188]
push eax
push edi
push 0x5f9738
call fcn.00401180
test ax, ax
jne 0x516ea3
mov ax, word [ebp - 0x2188]
inc edi
mov word [ebp + esi - 0xac], ax
add esi, 2
cmp esi, ebx
jl 0x516e11
cmp byte [ebp - 0xac], 0
je 0x516e8d
mov ebx, dword [ebp - 0x218c]
movq xmm0, qword [str.DONGLE_ID]
push 0x409
movq qword [ebx], xmm0
mov ax, word [0x5a76f4]
mov word [ebx + 8], ax
mov al, byte [0x5a76f6]
mov byte [ebx + 0xa], al
lea eax, [ebp - 0xac]
push eax
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov byte [ebx + 0x409], 0
add esp, 0xc
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
push str.Error_reading_FLAMES_dongle_information._code:_2_n
call fcn.00453200
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
call fcn.0052c33d
int3