Function at 0x10129350
Capabilities:
Get common file path
Get session user name
Get startup folder
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x11b0
call fcn.10146cc0
mov esi, esp
mov dword [esi + 0x1198], ebp
lea eax, [esi + 0x11a0]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x1012d420
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
movaps xmm0, xmmword [0x10189490]
movups xmmword [esi + 0x110], xmm0
mov dword [esi + 0x120], 6
lea edi, [esi + 0x190]
mov ecx, edi
push str.product_name
call fcn.100349a0
lea eax, [esi + 8]
mov dword [eax], edi
lea ebx, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
push eax
push edi
call fcn.1012d076
add esp, 8
mov ecx, dword [ebx]
add ecx, 0x1c
push 0xc
push 0x101afd80
call fcn.10056e90
cmp byte [edi + 0xb], 0
jns 0x101293f7
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
xor ebx, ebx
dec ebx
lea edi, [esi + 0x28]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov ecx, edi
push 0x1019d59a
call fcn.100349a0
lea ecx, [esi + 0x190]
call fcn.1012cfd1
mov ecx, edi
lea eax, [esi + 0x190]
push eax
call fcn.1013a86c
cmp byte [esi + 0x19b], 0
jns 0x10129441
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], eax
xor edi, edi
mov dword [esi + 0x68], eax
mov dword [esi + 0x190], ebx
mov dword [esi + 0x194], ebx
mov dword [esi + 0x198], ebx
mov ecx, dword [ebp + 0x10]
lea eax, [esi + 0x190]
push eax
call fcn.101272e0
mov ebx, dword [esi + 0x190]
mov eax, dword [esi + 0x194]
mov dword [esi + 0x34], eax
cmp ebx, eax
je 0x10129673
mov dword [esi + 0x5c], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x130], 0
mov edx, dword [ebx]
test edx, edx
je 0x10129627
xor eax, eax
dec eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], eax
movzx eax, byte [edx + 0xf]
test al, al
mov dword [esi + 0x4c], edx
jns 0x101294d3
mov ecx, dword [edx + 4]
mov eax, dword [edx + 8]
jmp 0x101294d6
lea ecx, [edx + 4]
xor edx, edx
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], edx
mov dword [esi + 0x78], edx
lea edx, [esi + 0x70]
push edx
push eax
push ecx
call fcn.10078390
add esp, 0xc
mov al, byte [esi + 0x7b]
movzx edx, al
test al, al
js 0x10129509
je 0x10129627
mov dword [esi + 0x48], edx
mov ecx, edx
lea edi, [esi + 0x70]
jmp 0x1012951a
mov ecx, dword [esi + 0x74]
test ecx, ecx
je 0x1012960a
mov dword [esi + 0x48], edx
mov edi, dword [esi + 0x70]
inc ecx
cmp ecx, 1
je 0x10129575
lea edx, [ecx - 1]
cmp byte [edi + ecx - 2], 0x5c
mov ecx, edx
jne 0x1012951b
test edx, edx
je 0x10129575
test al, al
jns 0x1012953a
mov eax, dword [esi + 0x74]
mov dword [esi + 0x48], eax
mov edi, dword [esi + 0x48]
sub edi, edx
lea ecx, [esi + 8]
lea eax, [esi + 0x7c]
push eax
push edi
push edx
lea eax, [esi + 0x70]
push eax
call fcn.1005649e
cmp byte [esi + 0x7b], 0
jns 0x10129562
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [esi + 0x78], eax
movsd xmm0, qword [esi + 8]
movsd qword [esi + 0x70], xmm0
mov al, byte [esi + 0x7b]
lea ecx, [esi + 0x70]
test al, al
jns 0x1012957f
mov ecx, dword [esi + 0x70]
push 0x101aff16
push ecx
call fcn.1015c490
add esp, 8
test eax, eax
je 0x101295d5
cmp byte [esi + 0x7b], 0
lea eax, [esi + 0x70]
jns 0x1012959d
mov eax, dword [esi + 0x70]
push str.chrome.dll
push eax
call fcn.1015c490
add esp, 8
xor edx, edx
test eax, eax
jne 0x10129602
mov ecx, dword [esi + 0x4c]
lea edx, [esi + 0x60]
call fcn.1012d174
mov ecx, dword [esi + 0x5c]
movzx edi, cl
and cl, 1
mov edx, 1
cmove edi, edx
mov dword [esi + 0x164], eax
jmp 0x101295f7
mov ecx, dword [esi + 0x4c]
lea edx, [esi + 0x38]
call fcn.1012d174
mov ecx, dword [esi + 0x5c]
movzx edi, cl
and cl, 1
mov edx, 1
cmove edi, edx
mov dword [esi + 0x130], eax
movzx edx, cl
xor edx, 3
mov ecx, edi
mov dword [esi + 0x5c], ecx
cmp byte [esi + 0x7b], 0
jns 0x1012961e
jmp 0x1012960f
mov edx, 3
push dword [esi + 0x70]
mov edi, edx
call fcn.10145bd4
mov edx, edi
add esp, 4
cmp edx, 3
je 0x10129627
test edx, edx
jne 0x10129633
add ebx, 4
cmp ebx, dword [esi + 0x34]
jne 0x101294aa
xor edi, edi
test byte [esi + 0x130], 1
je 0x1012966d
mov eax, dword [esi + 0x164]
and al, 1
je 0x1012966d
movzx eax, byte [esi + 0x43]
test al, al
jns 0x10129653
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x1012966b
movzx eax, byte [esi + 0x6b]
test al, al
jns 0x10129662
mov eax, dword [esi + 0x64]
test eax, eax
setne al
mov edi, eax
jmp 0x1012966d
xor edi, edi
mov ebx, dword [esi + 0x190]
test ebx, ebx
je 0x10129686
mov dword [esi + 0x194], ebx
push ebx
call fcn.10145bd4
add esp, 4
mov eax, edi
test al, al
jne 0x101296c2
movzx eax, byte [esi + 0x43]
test al, al
jns 0x10129697
mov eax, dword [esi + 0x3c]
test eax, eax
jne 0x101296a7
lea eax, [esi + 0x38]
lea ecx, [esi + 0x28]
push eax
call fcn.1013a932
movzx eax, byte [esi + 0x6b]
test al, al
jns 0x101296b2
mov eax, dword [esi + 0x64]
test eax, eax
jne 0x101296c2
lea eax, [esi + 0x60]
lea ecx, [esi + 0x28]
push eax
call fcn.1013afa0
lea ebx, [esi + 0x190]
mov ecx, ebx
push str.product_version
call fcn.100349a0
mov dword [esi + 8], ebx
lea edi, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
mov edx, edi
lea eax, [esi + 8]
push eax
push ebx
call fcn.1012d076
add esp, 8
mov ecx, dword [edi]
add ecx, 0x1c
lea eax, [esi + 0x60]
push eax
call fcn.1005cf00
cmp byte [esi + 0x19b], 0
jns 0x10129711
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
mov ecx, ebx
push str.exe_version
call fcn.100349a0
mov dword [esi + 8], ebx
lea edi, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
mov edx, edi
lea eax, [esi + 8]
push eax
push ebx
call fcn.1012d076
add esp, 8
mov ecx, dword [edi]
add ecx, 0x1c
lea eax, [esi + 0x38]
mov dword [esi + 0x4c], eax
push eax
call fcn.1005cf00
cmp byte [esi + 0x19b], 0
jns 0x1012975d
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
xorps xmm0, xmm0
movaps xmmword [esi + 0x200], xmm0
movaps xmmword [esi + 0x1f0], xmm0
movaps xmmword [esi + 0x1e0], xmm0
movaps xmmword [esi + 0x1d0], xmm0
movaps xmmword [esi + 0x1c0], xmm0
movaps xmmword [esi + 0x1b0], xmm0
movaps xmmword [esi + 0x1a0], xmm0
movaps xmmword [esi + 0x190], xmm0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x80]
push 0x101aa652
push 0xffffffffffffffff
push 0x40
push ebx
call fcn.1007db00
add esp, 0x14
lea ecx, [esi + 0x70]
push ebx
call fcn.100349a0
lea ebx, [esi + 8]
mov ecx, ebx
push str.process_id
call fcn.100349a0
lea eax, [esi + 0x100]
mov dword [eax], ebx
lea edi, [esi + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, edi
push eax
push ebx
call fcn.1012d076
add esp, 8
mov eax, dword [edi]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x101297fa
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x78]
mov dword [edi + 8], eax
movq xmm0, qword [esi + 0x70]
movq qword [edi], xmm0
mov byte [esi + 0x7b], 0
mov word [esi + 0x70], 0
cmp byte [esi + 0x13], 0
jns 0x10129835
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x10129835
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
xor ebx, ebx
lea ecx, [esi + 0x100]
mov dword [ecx + 4], ebx
mov dword [ecx], ebx
mov dword [ecx + 8], ebx
mov eax, dword [ebp + 0x10]
lea edi, [eax + 0x8c]
push edi
call fcn.1005cf00
xor eax, eax
dec eax
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x80], xmm0
movdqa xmmword [esi + 0x70], xmm0
mov dword [esi + 0xc], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x10], ebx
lea ebx, [esi + 8]
mov ecx, ebx
push edi
call fcn.1005cf00
movzx eax, byte [esi + 0x13]
test al, al
jns 0x10129896
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0xc]
push eax
push ebx
lea eax, [esi + 0x70]
push eax
call fcn.1005ad80
add esp, 0xc
cmp byte [esi + 0x13], 0
lea edi, [esi + 0x18]
jns 0x101298b8
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
xor ebx, ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x58], ebx
lea ecx, [esi + 0x70]
push 4
push str.type
push edi
call fcn.1005ae90
movzx eax, byte [esi + 0x23]
test al, al
jns 0x101298e1
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
lea ecx, [esi + 8]
mov dword [ecx + 4], ebx
mov dword [ecx], ebx
mov dword [ecx + 8], ebx
push ecx
push eax
push edi
call fcn.10078c10
add esp, 0xc
cmp byte [esi + 0x5b], 0
jns 0x10129908
push dword [esi + 0x50]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [esi + 0x58], eax
movsd xmm0, qword [esi + 8]
movsd qword [esi + 0x50], xmm0
mov byte [esi + 0x13], 0
mov word [esi + 8], 0
cmp byte [esi + 0x23], 0
jns 0x10129933
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
movzx eax, byte [esi + 0x5b]
test al, al
jns 0x1012993e
mov eax, dword [esi + 0x54]
lea ecx, [esi + 0x88]
test eax, eax
je 0x10129996
mov dword [esi + 8], str.render_type_trident
mov dword [esi + 0xc], 0x13
lea ebx, [esi + 0x18]
lea eax, [esi + 8]
push eax
push ebx
call fcn.1005d390
lea eax, [esi + 0x8c]
cmp dword [ebx], eax
je 0x10129a3e
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x64]
cmp dword [eax + 0x32c], 0x517a7ee
jne 0x10129a50
lea ecx, [esi + 0x50]
push 7
push str.ie_hung
jmp 0x10129b0f
lea ebx, [esi + 8]
mov dword [ebx], str.hide_icons
mov dword [ebx + 4], 0xa
lea edi, [esi + 0x18]
push ebx
push edi
call fcn.1005d390
lea eax, [esi + 0x8c]
cmp dword [edi], eax
jne 0x10129b05
mov dword [esi + 8], str.show_icons
mov dword [esi + 0xc], 0xa
lea ecx, [esi + 0x88]
push ebx
lea eax, [esi + 0x18]
push eax
call fcn.1005d390
lea eax, [esi + 0x8c]
cmp dword [esi + 0x18], eax
jne 0x10129b05
mov dword [esi + 8], str.only_set_default_action
mov dword [esi + 0xc], 0x17
lea ecx, [esi + 0x88]
push ebx
lea eax, [esi + 0x18]
push eax
call fcn.1005d390
lea eax, [esi + 0x8c]
cmp dword [esi + 0x18], eax
jne 0x10129b05
lea ecx, [esi + 0x70]
push 0x10
push str.third_party_type
push ebx
call fcn.1005ae90
mov al, byte [esi + 0x13]
test al, al
js 0x10129abd
movzx edx, al
sete cl
jmp 0x10129ad2
mov al, byte [esi + 0x5b]
test al, al
js 0x10129a64
movzx edx, al
sete cl
lea eax, [esi + 0x50]
jmp 0x10129a7b
lea ecx, [esi + 0x50]
push 3
push 0x101afe8c
call fcn.1005725a
jmp 0x10129b14
mov eax, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
test edx, edx
sete cl
je 0x10129a7b
test eax, eax
mov edi, dword [ebp + 0x10]
jne 0x10129a7e
int3
mov edi, dword [ebp + 0x10]
cmp edx, 0xb
jne 0x10129b14
test cl, cl
jne 0x10129aa2
xor ecx, ecx
movzx edx, word [eax + ecx]
cmp dx, word [ecx + str.gpu_process]
jne 0x10129b14
add ecx, 2
cmp ecx, 0x16
jne 0x10129a8d
mov eax, dword [edi + 0x64]
cmp dword [eax + 0x32c], 0x20203
jne 0x10129b14
lea ecx, [esi + 0x50]
push 8
push str.gpu_hung
jmp 0x10129b0f
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xc]
test edx, edx
sete cl
je 0x10129ad2
test ebx, ebx
je 0x1012cec7
cmp edx, 1
jne 0x10129aec
test cl, cl
jne 0x10129ae3
movzx ecx, byte [ebx]
add ecx, 0xffffffd0
jne 0x10129ae5
xor ecx, ecx
test ecx, ecx
sete bl
jmp 0x10129aee
xor ebx, ebx
test al, al
jns 0x10129afd
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
test bl, bl
je 0x1012a39c
lea ecx, [esi + 0x50]
push 7
push str.utility
call fcn.10056e90
cmp byte [esi + 0x5b], 0
js 0x10129b2c
mov eax, dword [esi + 0x58]
mov dword [esi + 0x10], eax
movsd xmm0, qword [esi + 0x50]
movsd qword [esi + 8], xmm0
jmp 0x10129b3a
lea ecx, [esi + 8]
push dword [esi + 0x54]
push dword [esi + 0x50]
call fcn.10056cf6
lea ebx, [esi + 0x18]
mov ecx, ebx
push str.process_type
call fcn.100349a0
lea eax, [esi + 0x140]
mov dword [eax], ebx
lea edi, [esi + 0x124]
mov ecx, dword [ebp + 0xc]
mov edx, edi
push eax
push ebx
call fcn.1012d076
add esp, 8
mov eax, dword [edi]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x10129b7b
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 8]
movsd qword [edi], xmm0
mov byte [esi + 0x13], 0
mov word [esi + 8], 0
cmp byte [esi + 0x23], 0
js 0x10129b9f
xor ebx, ebx
dec ebx
jmp 0x10129bc0
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x13], 0
mov ebx, 0xffffffff
jns 0x10129bc0
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
lea eax, [esi + 0x134]
mov byte [eax], 0
lea ecx, [esi + 0x28]
push eax
call fcn.1013b6fe
test al, al
je 0x10129c81
cmp byte [esi + 0x134], 0
mov eax, str.false
mov edx, str.true
cmove edx, eax
lea ecx, [esi + 8]
push edx
call fcn.100349a0
lea edi, [esi + 0x18]
mov ecx, edi
push str.gpu_switch
call fcn.100349a0
mov dword [esi + 0x140], edi
lea ebx, [esi + 0x124]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
lea eax, [esi + 0x140]
push eax
push edi
call fcn.1012d076
add esp, 8
mov eax, dword [ebx]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x10129c3c
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 8]
movsd qword [edi], xmm0
mov byte [esi + 0x13], 0
mov word [esi + 8], 0
cmp byte [esi + 0x23], 0
js 0x10129c60
xor ebx, ebx
dec ebx
jmp 0x10129c81
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x13], 0
mov ebx, 0xffffffff
jns 0x10129c81
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
mov eax, dword [0x102cf590]
mov ecx, dword [0x101bd164]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1012ce54
cmp byte [0x102cf594], 0
jne 0x10129d79
lea edi, [esi + 8]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov ecx, edi
call fcn.10011660
lea ebx, [esi + 0x18]
mov ecx, ebx
push 0x101afd80
call fcn.100349a0
mov ecx, edi
push ebx
call fcn.10011688
cmp byte [esi + 0x23], 0
jns 0x10129ce9
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
lea ecx, [esi + 8]
push ebx
call fcn.10011c10
cmp byte [0x102cf58f], 0
jns 0x10129d09
push dword [0x102cf584]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x20]
mov dword [0x102cf58c], eax
movsd xmm0, qword [esi + 0x18]
movsd qword [0x102cf584], xmm0
movzx eax, byte [0x102cf58f]
test al, al
jns 0x10129d2e
mov eax, dword [0x102cf588]
test eax, eax
jne 0x10129d6a
lea ecx, [esi + 8]
lea eax, [esi + 0x18]
push eax
call fcn.10011d70
cmp byte [0x102cf58f], 0
jns 0x10129d55
push dword [0x102cf584]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x20]
mov dword [0x102cf58c], eax
movsd xmm0, qword [esi + 0x18]
movsd qword [0x102cf584], xmm0
mov byte [0x102cf594], 1
lea ecx, [esi + 8]
call fcn.10011672
cmp byte [0x102cf58f], 0
js 0x10129d99
mov eax, dword [0x102cf58c]
mov dword [esi + 0x10], eax
movsd xmm0, qword [0x102cf584]
movsd qword [esi + 8], xmm0
jmp 0x10129dad
lea ecx, [esi + 8]
push dword [0x102cf588]
push dword [0x102cf584]
call fcn.10056cf6
lea edi, [esi + 0x18]
mov ecx, edi
push str.uuid
call fcn.100349a0
mov dword [esi + 0x140], edi
lea ebx, [esi + 0x124]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
lea eax, [esi + 0x140]
push eax
push edi
call fcn.1012d076
add esp, 8
mov dword [esi + 0x34], ebx
mov eax, dword [ebx]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x10129df5
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
movq xmm0, qword [esi + 8]
movq qword [edi], xmm0
mov byte [esi + 0x13], 0
mov word [esi + 8], 0
cmp byte [esi + 0x23], 0
js 0x10129e19
xor edi, edi
dec edi
jmp 0x10129e3a
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x13], 0
mov edi, 0xffffffff
jns 0x10129e3a
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x5b], 0
jns 0x10129e4b
push dword [esi + 0x50]
call fcn.10145bd4
add esp, 4
lea ecx, [esi + 0x70]
call fcn.1005a190
cmp byte [esi + 0x10b], 0
jns 0x10129e6a
push dword [esi + 0x100]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x6b], 0
jns 0x10129e7b
push dword [esi + 0x60]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x43], 0
jns 0x10129e8c
push dword [esi + 0x38]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x33], 0
jns 0x10129e9d
push dword [esi + 0x28]
call fcn.10145bd4
add esp, 4
xor eax, eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
lea edi, [esi + 0x38]
mov ecx, edi
call fcn.1012cfd1
lea ebx, [esi + 0x60]
xor eax, eax
dec eax
mov dword [ebx], eax
xor eax, eax
dec eax
mov dword [ebx + 4], eax
xor eax, eax
dec eax
mov dword [ebx + 8], eax
mov eax, 0x1019d59a
mov ecx, ebx
push eax
call fcn.100349a0
mov ecx, ebx
push edi
call fcn.1013a86c
xor eax, eax
dec eax
mov dword [esi + 0x100], eax
xor eax, eax
dec eax
mov dword [esi + 0x104], eax
xor eax, eax
dec eax
mov dword [esi + 0x108], eax
lea edi, [esi + 0x100]
mov ecx, edi
mov eax, 0x1019d59a
push eax
call fcn.100349a0
mov ecx, ebx
xor ebx, ebx
dec ebx
push edi
call fcn.1013afa0
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
lea edi, [esi + 0x190]
mov ecx, edi
push str.product_version
call fcn.100349a0
mov dword [esi + 8], edi
lea ebx, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
lea eax, [esi + 8]
push eax
push edi
call fcn.1012d076
add esp, 8
mov eax, dword [ebx]
cmp byte [eax + 0x27], 0
js 0x10129f6c
add eax, 0x1c
mov ecx, dword [eax + 8]
mov dword [esi + 0x58], ecx
movq xmm0, qword [eax]
movq qword [esi + 0x50], xmm0
jmp 0x10129f7a
lea ecx, [esi + 0x50]
push dword [eax + 0x20]
push dword [eax + 0x1c]
call fcn.10056cf6
cmp byte [esi + 0x19b], 0
lea ebx, [esi + 0x100]
jns 0x10129f97
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
movzx eax, byte [esi + 0x10b]
test al, al
jns 0x10129fba
mov ebx, dword [esi + 0x100]
mov eax, dword [esi + 0x104]
test eax, eax
je 0x10129fba
test ebx, ebx
je 0x1012ce9d
mov cl, byte [esi + 0x5b]
test cl, cl
js 0x10129fcc
movzx edi, cl
sete dl
lea ecx, [esi + 0x50]
jmp 0x10129fe1
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x54]
test edi, edi
sete dl
je 0x10129fe1
test ecx, ecx
je 0x1012cea0
cmp edi, eax
jne 0x1012a13f
test dl, dl
jne 0x1012a002
xor edx, edx
movzx edi, word [ecx + edx*2]
cmp di, word [ebx + edx*2]
jne 0x1012a13f
inc edx
cmp eax, edx
jne 0x10129fef
xor ebx, ebx
dec ebx
mov dword [esi + 0x124], ebx
mov dword [esi + 0x128], ebx
mov dword [esi + 0x12c], ebx
lea edi, [esi + 0x124]
mov ecx, edi
push 0x1019d59a
call fcn.100349a0
lea ecx, [esi + 0x60]
push edi
call fcn.1013b47e
test al, al
jne 0x1012a047
lea ecx, [esi + 0x60]
push edi
call fcn.1013aac8
test al, al
je 0x1012a35b
mov ecx, edi
push 1
push 0x101a0662
call fcn.1005725a
mov dword [esi + 0x140], ebx
mov dword [esi + 0x144], ebx
mov dword [esi + 0x148], ebx
movzx ebx, byte [esi + 0x12f]
test bl, bl
jns 0x1012a078
mov ebx, dword [esi + 0x128]
xor eax, eax
dec eax
mov dword [esi + 0x190], eax
mov dword [esi + 0x194], eax
mov dword [esi + 0x198], eax
lea eax, [ebx + 9]
sub esp, 0xc
mov cl, byte [esi + 8]
mov byte [esp], cl
lea ecx, [esi + 0x70]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea edi, [esi + 0x190]
mov ecx, edi
call fcn.10035b36
cmp byte [esi + 0x19b], 0
mov eax, edi
jns 0x1012a0c2
mov eax, dword [esi + 0x190]
cmp byte [esi + 0x12f], 0
jns 0x1012a0d4
mov ecx, dword [esi + 0x124]
mov dword [esi + 0x34], ecx
lea edi, [eax + ebx*2]
cmp dword [esi + 0x34], eax
jb 0x1012a0e5
cmp edi, dword [esi + 0x34]
ja 0x1012cea3
test ebx, ebx
je 0x1012a0f8
add ebx, ebx
push ebx
push dword [esi + 0x34]
push eax
call fcn.10148eb0
add esp, 0xc
cmp edi, str.prefs.dat
ja 0x1012a10e
lea eax, [edi + 0x12]
cmp eax, str.prefs.dat
ja 0x1012cea6
movdqu xmm0, xmmword [str.prefs.dat]
movdqu xmmword [edi], xmm0
mov dword [edi + 0x10], 0x74
movzx eax, byte [esi + 0x19b]
test al, al
mov ebx, 0xffffffff
jns 0x1012a188
mov edx, dword [esi + 0x190]
mov eax, dword [esi + 0x194]
jmp 0x1012a18e
lea ecx, [esi + 0x28]
push 0x1a
push str.two_versions_are_different
call fcn.10056e90
cmp byte [esi + 0x5b], 0
jns 0x1012a15f
push dword [esi + 0x50]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x10b], 0
jns 0x1012a176
push dword [esi + 0x100]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x6b], 0
jns 0x1012ab26
push dword [esi + 0x60]
jmp 0x1012ab1e
lea edx, [esi + 0x190]
lea edi, [esi + 0x140]
mov ecx, edi
push eax
push edx
call fcn.10060680
cmp byte [esi + 0x19b], 0
jns 0x1012a1b4
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
push edi
call fcn.1007e430
add esp, 4
test al, al
je 0x1012a2c3
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov dword [esi + 0x13c], ebx
lea ecx, [esi + 0x134]
push 0x1019d59c
call fcn.10035a6a
push ebx
lea eax, [esi + 0x134]
push eax
push edi
call fcn.100634b0
add esp, 0xc
test al, al
je 0x1012a342
movzx eax, byte [esi + 0x13f]
test al, al
jns 0x1012a211
mov eax, dword [esi + 0x138]
test eax, eax
je 0x1012a342
lea edi, [esi + 0x14c]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov ecx, edi
push 0x1019d59c
call fcn.10035a6a
movzx ebx, byte [esi + 0x13f]
test bl, bl
cmovs ebx, dword [esi + 0x138]
lea eax, [esi + 0x134]
cmovs eax, dword [esi + 0x134]
test ebx, ebx
je 0x1012a43e
test eax, eax
je 0x1012a43e
xor ecx, ecx
lea edx, [esi + 0x70]
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
pcmpeqd xmm0, xmm0
lea ecx, [esi + 0x190]
movdqa xmmword [ecx + 0x10], xmm0
movdqa xmmword [ecx], xmm0
mov dword [esi + 0x34], eax
push 0x101bd02c
call fcn.10012006
lea ecx, [esi + 0x190]
lea eax, [esi + 0x70]
push eax
push ebx
push dword [esi + 0x34]
call fcn.100121a0
mov ebx, eax
test al, al
je 0x1012a38a
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x14c]
push dword [esi + 0x74]
call fcn.1012d27c
add esp, 4
jmp 0x1012a3df
lea ecx, [esi + 0x28]
push 0x13
push str.prefs.dat_not_exist
call fcn.10056e90
cmp byte [esi + 0x14b], 0
jns 0x1012a2e9
push dword [esi + 0x140]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x12f], 0
jns 0x1012a300
push dword [esi + 0x124]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x5b], 0
jns 0x1012a311
push dword [esi + 0x50]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x10b], 0
jns 0x1012a328
push dword [esi + 0x100]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x6b], 0
jns 0x1012a847
push dword [esi + 0x60]
call fcn.10145bd4
add esp, 4
jmp 0x1012a847
lea ecx, [esi + 0x28]
push 0x15
push str.prefs.dat_open_failed
call fcn.10056e90
mov bl, 1
lea eax, [esi + 0x28]
jmp 0x1012a7aa
lea ecx, [esi + 0x28]
push 0x1c
push str.browser_directory_get_failed
call fcn.10056e90
cmp byte [esi + 0x12f], 0
jns 0x1012a14e
push dword [esi + 0x124]
call fcn.10145bd4
add esp, 4
jmp 0x1012a14e
cmp byte [esi + 0x157], 0
js 0x1012a3cc
mov byte [esi + 0x157], 0
jmp 0x1012a3dc
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x64]
cmp dword [eax + 0x32c], 0x517a7ed
jne 0x1012a3bd
lea ecx, [esi + 0x50]
push 0xc
push str.browser_hung
jmp 0x10129b0f
lea ecx, [esi + 0x50]
push 7
push str.Browser
jmp 0x10129b0f
mov dword [esi + 0x150], 0
mov edi, dword [esi + 0x14c]
mov byte [edi], 0
lea ecx, [esi + 0x190]
call fcn.10012050
mov eax, dword [esi + 0x70]
test eax, eax
je 0x1012a40d
mov ecx, dword [esi + 0x74]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x1012cec1
mov dword [esi + 0x74], eax
push eax
call fcn.10145bd4
add esp, 4
test bl, bl
je 0x1012a43e
xor eax, eax
mov dword [esi + 0x168], eax
mov dword [esi + 0x16c], eax
mov dword [esi + 0x170], eax
movzx eax, byte [esi + 0x157]
test al, al
jns 0x1012a454
mov ecx, dword [esi + 0x14c]
mov eax, dword [esi + 0x150]
jmp 0x1012a45a
lea ecx, [esi + 0x28]
push 0x18
push str.prefs.dat_decrypt_failed
call fcn.10056e90
mov bl, 1
jmp 0x1012a78d
lea ecx, [esi + 0x14c]
xor ebx, ebx
dec ebx
mov byte [esi + 0x190], 0xa
lea edx, [esi + 0x168]
push edx
push 1
lea edx, [esi + 0x190]
push edx
push 0x3d
push eax
push ecx
call fcn.100755a0
add esp, 0x18
mov dword [esi + 0x174], ebx
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], ebx
movzx eax, byte [esi + 0x12f]
test al, al
jns 0x1012a4ab
mov edx, dword [esi + 0x124]
mov eax, dword [esi + 0x128]
jmp 0x1012a4b1
lea edx, [esi + 0x124]
lea ecx, [esi + 0x174]
push eax
push edx
call fcn.10060680
mov edi, dword [esi + 0x168]
mov eax, dword [esi + 0x16c]
cmp edi, eax
je 0x1012a75b
add edi, 0xc
movzx ecx, byte [edi - 1]
test cl, cl
jns 0x1012a4e0
mov ecx, dword [edi - 8]
test ecx, ecx
je 0x1012a74b
movzx ecx, byte [edi + 0xb]
test cl, cl
jns 0x1012a4f3
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x1012a74b
lea edx, [edi - 0xc]
mov dword [esi + 0x158], ebx
mov dword [esi + 0x15c], ebx
mov dword [esi + 0x160], ebx
movzx eax, byte [edi - 1]
mov dword [esi + 0x34], edx
test al, al
jns 0x1012a521
mov edx, dword [edi - 0xc]
mov eax, dword [edi - 8]
lea ecx, [esi + 0x174]
push eax
push edx
lea ebx, [esi + 0x158]
push ebx
call fcn.10062d70
push ebx
call fcn.1007e430
add esp, 4
test al, al
lea ecx, [esi + 0x70]
mov ebx, 0xffffffff
je 0x1012a68d
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
push 0x1019d59c
call fcn.10035a6a
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
movzx eax, byte [esi + 0x163]
lea edx, [esi + 0x158]
test al, al
jns 0x1012a587
mov edx, dword [esi + 0x158]
mov eax, dword [esi + 0x15c]
lea ecx, [esi + 8]
push eax
push edx
call fcn.10060680
push ebx
lea ebx, [esi + 0x70]
push ebx
lea eax, [esi + 8]
push eax
call fcn.100634b0
add esp, 0xc
test al, al
je 0x1012a653
movzx eax, byte [esi + 0x7b]
test al, al
cmovs eax, dword [esi + 0x74]
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x190], xmm0
mov ecx, dword [esi + 0x70]
cmovns ecx, ebx
lea ebx, [esi + 0x190]
push ebx
push eax
push ecx
call fcn.100c52a0
add esp, 0xc
xor eax, eax
dec eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
push ebx
lea ebx, [esi + 0x18]
push ebx
call fcn.100b12a0
add esp, 8
cmp byte [edi + 0xb], 0
mov eax, edi
jns 0x1012a5fa
mov eax, dword [edi]
test eax, eax
je 0x1012cebe
push eax
mov dword [esi + 0x48], eax
call fcn.10163870
add esp, 4
mov dword [esi + 0x5c], eax
cmp byte [esi + 0x23], 0
jns 0x1012a622
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x1012cec4
push ebx
call fcn.10163870
add esp, 4
push dword [esi + 0x5c]
push dword [esi + 0x48]
push eax
push ebx
call fcn.1003ab20
add esp, 0x10
test eax, eax
sete bl
cmp byte [esi + 0x23], 0
jns 0x1012a655
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
jmp 0x1012a655
xor ebx, ebx
cmp byte [esi + 0x13], 0
lea ecx, [esi + 0x70]
jns 0x1012a66c
push dword [esi + 8]
call fcn.10145bd4
lea ecx, [esi + 0x70]
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x1012a680
push dword [esi + 0x70]
call fcn.10145bd4
lea ecx, [esi + 0x70]
add esp, 4
test bl, bl
mov ebx, 0xffffffff
jne 0x1012a72e
movzx eax, byte [edi - 1]
test al, al
mov edx, dword [esi + 0x34]
jns 0x1012a69e
mov edx, dword [edi - 0xc]
mov eax, dword [edi - 8]
push eax
push edx
push ecx
mov ebx, ecx
call fcn.100c6f30
add esp, 0xc
mov ecx, ebx
push 1
push 0x1019dd68
call fcn.1005725a
mov ecx, dword [eax + 8]
mov dword [esi + 0x198], ecx
movq xmm0, qword [eax]
movq qword [esi + 0x190], xmm0
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
movzx eax, byte [esi + 0x19b]
test al, al
cmovs eax, dword [esi + 0x194]
mov edx, dword [esi + 0x190]
lea ecx, [esi + 0x190]
cmovns edx, ecx
lea ecx, [esi + 0x28]
push eax
push edx
call fcn.1005725a
cmp byte [esi + 0x19b], 0
jns 0x1012a718
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
mov ebx, 0xffffffff
jns 0x1012a72e
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x163], 0
jns 0x1012a745
push dword [esi + 0x158]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x16c]
lea ecx, [edi + 0x18]
add edi, 0xc
cmp edi, eax
mov edi, ecx
jne 0x1012a4d5
movzx eax, byte [esi + 0x33]
test al, al
jns 0x1012a766
mov eax, dword [esi + 0x2c]
test eax, eax
setne bl
cmp byte [esi + 0x17f], 0
jns 0x1012a782
push dword [esi + 0x174]
call fcn.10145bd4
add esp, 4
lea ecx, [esi + 0x168]
call fcn.1003927e
cmp byte [esi + 0x157], 0
lea eax, [esi + 0x28]
jns 0x1012a7aa
push dword [esi + 0x14c]
call fcn.10145bd4
lea eax, [esi + 0x28]
add esp, 4
cmp byte [esi + 0x13f], 0
jns 0x1012a7c4
push dword [esi + 0x134]
call fcn.10145bd4
lea eax, [esi + 0x28]
add esp, 4
cmp byte [esi + 0x14b], 0
jns 0x1012a7de
push dword [esi + 0x140]
call fcn.10145bd4
lea eax, [esi + 0x28]
add esp, 4
cmp byte [esi + 0x12f], 0
jns 0x1012a7f8
push dword [esi + 0x124]
call fcn.10145bd4
lea eax, [esi + 0x28]
add esp, 4
cmp byte [esi + 0x5b], 0
jns 0x1012a80c
push dword [esi + 0x50]
call fcn.10145bd4
lea eax, [esi + 0x28]
add esp, 4
cmp byte [esi + 0x10b], 0
jns 0x1012a826
push dword [esi + 0x100]
call fcn.10145bd4
lea eax, [esi + 0x28]
add esp, 4
cmp byte [esi + 0x6b], 0
jns 0x1012a83a
push dword [esi + 0x60]
call fcn.10145bd4
lea eax, [esi + 0x28]
add esp, 4
test bl, bl
mov ebx, 0xffffffff
je 0x1012ab29
mov dword [esi + 0x190], ebx
mov dword [esi + 0x194], ebx
mov dword [esi + 0x198], ebx
movzx ebx, byte [esi + 0x43]
test bl, bl
jns 0x1012a864
mov ebx, dword [esi + 0x3c]
xor eax, eax
dec eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], eax
lea eax, [ebx + 7]
sub esp, 0xc
mov cl, byte [esi + 0x18]
mov byte [esp], cl
lea ecx, [esi + 8]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea edi, [esi + 0x70]
mov ecx, edi
call fcn.10035b36
cmp byte [esi + 0x7b], 0
mov eax, edi
jns 0x1012a89c
mov eax, dword [esi + 0x70]
cmp byte [esi + 0x43], 0
jns 0x1012a8a8
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x4c], ecx
lea edi, [eax + ebx*2]
cmp dword [esi + 0x4c], eax
jb 0x1012a8b9
cmp edi, dword [esi + 0x4c]
ja 0x1012ceac
test ebx, ebx
je 0x1012a8cc
add ebx, ebx
push ebx
push dword [esi + 0x4c]
push eax
call fcn.10148eb0
add esp, 0xc
cmp edi, str.tmp.ini
ja 0x1012a8e2
lea eax, [edi + 0xe]
cmp eax, str.tmp.ini
ja 0x1012ceaf
movaps xmm0, xmmword [str.tmp.ini]
movups xmmword [edi], xmm0
movzx eax, byte [esi + 0x7b]
test al, al
mov edi, 0xffffffff
jns 0x1012a901
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
jmp 0x1012a904
lea edx, [esi + 0x70]
lea ecx, [esi + 0x190]
push eax
push edx
call fcn.10060680
cmp byte [esi + 0x7b], 0
jns 0x1012a922
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], edi
movzx ebx, byte [esi + 0x43]
test bl, bl
jns 0x1012a936
mov ebx, dword [esi + 0x3c]
xor eax, eax
dec eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
lea eax, [ebx + 0x11]
sub esp, 0xc
mov cl, byte [esi + 0x60]
mov byte [esp], cl
lea ecx, [esi + 0x18]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea edi, [esi + 8]
mov ecx, edi
call fcn.10035b36
cmp byte [esi + 0x13], 0
mov eax, edi
jns 0x1012a96e
mov eax, dword [esi + 8]
cmp byte [esi + 0x43], 0
jns 0x1012a979
mov ecx, dword [esi + 0x38]
jmp 0x1012a97c
lea ecx, [esi + 0x38]
lea edi, [eax + ebx*2]
cmp ecx, eax
jb 0x1012a98b
cmp edi, ecx
ja 0x1012ceb2
test ebx, ebx
je 0x1012a99c
add ebx, ebx
push ebx
push ecx
push eax
call fcn.10148eb0
add esp, 0xc
cmp edi, str.installer_tmp.ini
ja 0x1012a9b2
lea eax, [edi + 0x22]
cmp eax, str.installer_tmp.ini
ja 0x1012ceb5
movups xmm0, xmmword [0x101b004c]
movups xmmword [edi + 0x10], xmm0
movdqu xmm0, xmmword [str.installer_tmp.ini]
movdqu xmmword [edi], xmm0
mov dword [edi + 0x20], 0x69
movzx eax, byte [esi + 0x13]
test al, al
jns 0x1012a9e0
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
jmp 0x1012a9e3
lea edx, [esi + 8]
lea edi, [esi + 0x190]
lea ebx, [esi + 0x70]
mov ecx, ebx
push eax
push edx
call fcn.10060680
cmp byte [esi + 0x13], 0
jns 0x1012aa06
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
push edi
call fcn.1007e430
add esp, 4
test al, al
jne 0x1012aafe
push ebx
call fcn.1007e430
add esp, 4
test al, al
jne 0x1012aafe
movzx ecx, byte [esi + 0x43]
test cl, cl
jns 0x1012aa33
mov ecx, dword [esi + 0x3c]
lea edi, [esi + 8]
xor eax, eax
dec eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov ebx, ecx
lea eax, [ecx + 0xa]
sub esp, 0xc
mov cl, byte [esi + 0x60]
mov byte [esp], cl
lea ecx, [esi + 0x18]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov ecx, edi
call fcn.10035b36
cmp byte [edi + 0xb], 0
jns 0x1012aa6a
mov edi, dword [esi + 8]
cmp byte [esi + 0x43], 0
jns 0x1012aa75
mov eax, dword [esi + 0x38]
jmp 0x1012aa78
lea eax, [esi + 0x38]
mov ecx, ebx
lea ebx, [edi + ebx*2]
cmp eax, edi
jb 0x1012aa89
cmp ebx, eax
ja 0x1012ceb8
test ecx, ecx
je 0x1012aa9a
add ecx, ecx
push ecx
push eax
push edi
call fcn.10148eb0
add esp, 0xc
cmp ebx, str.config.ini
ja 0x1012aab0
lea eax, [ebx + 0x14]
cmp eax, str.config.ini
ja 0x1012cebb
movdqu xmm0, xmmword [str.config.ini]
movdqu xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0x69006e
mov word [ebx + 0x14], 0
cmp byte [esi + 0x13], 0
jns 0x1012aad4
mov eax, dword [esi + 8]
jmp 0x1012aad7
lea eax, [esi + 8]
push eax
push 0x1019d55a
push str.BrowserDamagedFlag
push 0x101b0086
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [esi + 0x13], 0
jns 0x1012aafe
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x1012ab0f
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
jns 0x1012ab26
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
lea eax, [esi + 0x28]
cmp byte [esi + 0x33], 0
js 0x1012ab36
jne 0x1012ab4b
jmp 0x1012abe5
cmp dword [esi + 0x2c], 0
je 0x1012abe5
mov eax, dword [esi + 0x28]
test eax, eax
je 0x1012cea9
push eax
mov ebx, eax
call fcn.10163aa4
add esp, 4
xor edi, edi
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edi
mov dword [esi + 0x78], edi
lea ecx, [esi + 0x70]
push ecx
push eax
push ebx
call fcn.10078390
add esp, 0xc
movq xmm0, qword [esi + 0x70]
movq qword [esi + 0x190], xmm0
mov eax, dword [esi + 0x78]
mov dword [esi + 0x198], eax
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], edi
mov dword [esi + 0x1a0], 4
cmp dword [esi + 0x120], 6
jne 0x1012ce2f
lea ecx, [esi + 0x110]
lea edi, [esi + 0x190]
push edi
push 0x16
push str.others.damaged_modules
call fcn.1007ac70
mov eax, dword [esi + 0x1a0]
mov dword [esi + 8], edi
push eax
lea eax, [esi + 8]
push eax
call fcn.1007c930
add esp, 8
cmp byte [esi + 0x7b], 0
jns 0x1012abe5
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x43], 0
jns 0x1012abf6
push dword [esi + 0x38]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x33], 0
jns 0x1012ac07
push dword [esi + 0x28]
call fcn.10145bd4
add esp, 4
lea eax, [esi + 0x28]
mov dword [eax], 0
lea ebx, [esi + 0x38]
xor edi, edi
dec edi
mov dword [ebx], edi
mov ecx, ebx
call fcn.100123fc
lea ecx, [esi + 0x70]
mov dword [ecx], edi
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
mov dword [esi + 0x4c], ecx
push 0x1019d390
call fcn.100349a0
mov dword [esi + 0x190], edi
mov dword [esi + 0x194], edi
mov dword [esi + 0x198], edi
lea edi, [esi + 0x190]
mov ecx, edi
push str.SystemCurrentControlSetControlSession_ManagerMemory_Management
call fcn.100349a0
mov ecx, ebx
lea eax, [esi + 0x28]
push eax
push edi
push 0x80000002
call fcn.1001249e
test al, al
je 0x1012ad78
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
lea edi, [esi + 0x18]
mov ecx, edi
push str.PagingFiles
call fcn.100349a0
lea ecx, [esi + 0x38]
lea eax, [esi + 8]
push eax
push edi
push dword [esi + 0x28]
call fcn.10012548
mov ebx, eax
cmp byte [esi + 0x23], 0
jns 0x1012acb1
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
test bl, bl
je 0x1012ad70
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], eax
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
cmp edi, eax
je 0x1012ad70
lea ebx, [esi + 0x18]
mov cl, byte [edi + 0xb]
movzx eax, cl
test cl, cl
js 0x1012ace6
mov edx, eax
jmp 0x1012ace9
mov edx, dword [edi + 4]
test edx, edx
je 0x1012ad01
mov edx, edi
test cl, cl
jns 0x1012acf8
mov eax, dword [edi + 4]
mov edx, dword [edi]
mov ecx, ebx
push eax
push edx
call fcn.1005725a
add edi, 0xc
cmp edi, dword [esi + 0x34]
jne 0x1012acd8
mov dl, byte [esi + 0x23]
test dl, dl
js 0x1012ad1d
je 0x1012ad70
movzx eax, dl
lea edi, [esi + eax*2]
add edi, 0x18
jmp 0x1012ad2a
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1012ad65
mov ebx, dword [esi + 0x18]
lea edi, [ebx + eax*2]
cmp ebx, edi
je 0x1012ad47
movzx eax, word [ebx]
push eax
call fcn.1015dea4
add esp, 4
mov word [ebx], ax
add ebx, 2
cmp ebx, edi
jne 0x1012ad2e
mov dl, byte [esi + 0x23]
test dl, dl
lea eax, [esi + 0x18]
mov ecx, dword [eax]
cmovns ecx, eax
movzx ebx, dl
cmovs ebx, dword [eax + 4]
cmp ebx, 0xc
jge 0x1012cc41
test dl, dl
jns 0x1012ad70
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
lea ecx, [esi + 8]
call fcn.10034a50
cmp byte [esi + 0x19b], 0
jns 0x1012ad8f
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
cmp dword [esi + 0x28], 0
mov ebx, 0xffffffff
je 0x1012ada6
lea ecx, [esi + 0x38]
lea eax, [esi + 0x28]
push eax
call fcn.1001250a
movzx eax, byte [esi + 0x7b]
test al, al
jns 0x1012adb7
mov eax, dword [esi + 0x70]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x74]
xor edi, edi
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 0x10], edi
lea ecx, [esi + 8]
push ecx
push eax
push dword [esi + 0x4c]
call fcn.10078390
add esp, 0xc
movsd xmm0, qword [esi + 8]
movsd qword [esi + 0x190], xmm0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x198], eax
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x1a0], 4
cmp dword [esi + 0x120], 6
jne 0x1012ce2f
lea ecx, [esi + 0x110]
lea edi, [esi + 0x190]
push edi
push 0x1a
push str.others.virtual_memory_flag
call fcn.1007ac70
mov eax, dword [esi + 0x1a0]
mov dword [esi + 0x18], edi
push eax
lea eax, [esi + 0x18]
push eax
call fcn.1007c930
add esp, 8
cmp byte [esi + 0x13], 0
jns 0x1012ae48
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x1012ae59
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
lea ecx, [esi + 0x38]
call fcn.10012480
lea edi, [esi + 0x60]
mov dword [edi], ebx
mov ecx, edi
call fcn.100105a6
mov ecx, edi
call fcn.10010d7a
xor ebx, ebx
push 0x1000
push ebx
lea eax, [esi + 0x190]
push eax
call fcn.10149430
add esp, 0xc
push ebx
push 0x1c
lea eax, [esi + 0x190]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov ecx, edi
call fcn.100106c4
xor eax, eax
dec eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
lea eax, [esi + 0x190]
push eax
call fcn.10163aa4
add esp, 4
lea edi, [esi + 8]
mov ecx, edi
push eax
lea eax, [esi + 0x190]
push eax
call fcn.10060680
push edi
call fcn.10085c10
add esp, 4
mov edi, eax
mov ebx, edx
lea ecx, [esi + 0x18]
xor eax, eax
dec eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push 0x101b018a
call fcn.100349a0
test ebx, ebx
js 0x1012afa1
shrd edi, ebx, 0x14
movd xmm0, edi
shr ebx, 0x14
movd xmm1, ebx
punpckldq xmm0, xmm1
movq qword [esi + 0x188], xmm0
fild qword [esi + 0x188]
fstp qword [esi + 0x180]
movsd xmm0, qword [esi + 0x180]
mulsd xmm0, qword [0x101a0a98]
pxor xmm1, xmm1
lea edi, [esi + 0x70]
movdqa xmmword [edi + 0x70], xmm1
movdqa xmmword [edi + 0x60], xmm1
movdqa xmmword [edi + 0x50], xmm1
movdqa xmmword [edi + 0x40], xmm1
movdqa xmmword [edi + 0x30], xmm1
movdqa xmmword [edi + 0x20], xmm1
movdqa xmmword [edi + 0x10], xmm1
movdqa xmmword [edi], xmm1
sub esp, 0x18
mov dword [esp], edi
movsd qword [esp + 0x10], xmm0
mov dword [esp + 0xc], 0x101b0190
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x40
call fcn.1007db00
add esp, 0x18
push edi
call fcn.10163aa4
add esp, 4
lea ecx, [esi + 0x18]
push eax
push edi
call fcn.10056e90
movzx eax, byte [esi + 0x23]
test al, al
lea edx, [esi + 0x18]
jns 0x1012afb2
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
xor edi, edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x30], edi
lea ecx, [esi + 0x28]
push ecx
push eax
push edx
call fcn.10078390
add esp, 0xc
movq xmm0, qword [esi + 0x28]
movq qword [esi + 0x70], xmm0
mov eax, dword [esi + 0x30]
mov dword [esi + 0x78], eax
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x80], 4
cmp dword [esi + 0x120], 6
jne 0x1012ce2f
lea edi, [esi + 0x70]
lea ecx, [esi + 0x110]
push edi
push 0x16
push str.others.free_disk_space
call fcn.1007ac70
mov eax, dword [edi + 0x10]
mov dword [esi + 0x38], edi
push eax
lea eax, [esi + 0x38]
push eax
call fcn.1007c930
add esp, 8
cmp byte [esi + 0x33], 0
jns 0x1012b035
push dword [esi + 0x28]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x23], 0
jns 0x1012b046
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x13], 0
jns 0x1012b057
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
lea ecx, [esi + 0x60]
call fcn.1001061c
call fcn.100850c0
test eax, eax
je 0x1012b0a2
xor ecx, ecx
mov dword [esi + 0x194], ecx
mov dword [esi + 0x190], ecx
mov dword [esi + 0x198], ecx
mov eax, dword [eax]
cmp eax, 0x15
ja case.default.0x1012b087
jmp dword [eax*4 + 0x101b0754]
lea ecx, [esi + 0x190]
push 5
push str.WIN10
call fcn.10056e90
jmp 0x1012b0b2
lea ecx, [esi + 0x190]
push 0x1019d59a
call fcn.100349a0
mov ecx, edi
push str.os_version
call fcn.100349a0
lea eax, [esi + 0x18]
mov dword [eax], edi
lea ebx, [esi + 8]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
push eax
push edi
call fcn.1012d076
add esp, 8
mov eax, dword [ebx]
lea ebx, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b0ea
push dword [ebx]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
mov dword [ebx + 8], eax
movsd xmm0, qword [esi + 0x190]
movsd qword [ebx], xmm0
mov byte [esi + 0x19b], 0
mov word [esi + 0x190], 0
cmp byte [esi + 0x7b], 0
jns 0x1012b137
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
jns 0x1012b137
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
push edi
call fcn.10085da0
add esp, 4
movzx eax, byte [esi + 0x7b]
test al, al
jns 0x1012b14e
mov edi, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
xor ecx, ecx
mov dword [esi + 0x194], ecx
mov dword [esi + 0x190], ecx
mov dword [esi + 0x198], ecx
lea ecx, [esi + 0x190]
push ecx
push eax
push edi
call fcn.10078c10
add esp, 0xc
lea edi, [esi + 8]
mov ecx, edi
push str.os_bit
call fcn.100349a0
mov dword [esi + 0x28], edi
lea ebx, [esi + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
lea eax, [esi + 0x28]
push eax
push edi
call fcn.1012d076
add esp, 8
mov eax, dword [ebx]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b1af
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x190]
movsd qword [edi], xmm0
mov byte [esi + 0x19b], 0
mov word [esi + 0x190], 0
cmp byte [esi + 0x13], 0
js 0x1012b1e2
lea edi, [esi + 0x190]
jmp 0x1012b20a
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
lea edi, [esi + 0x190]
jns 0x1012b20a
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x1012b21b
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
call fcn.10079710
shld edx, eax, 0xc
push edx
push str._d_MB
push edi
call fcn.10077790
add esp, 0xc
lea ebx, [esi + 0x70]
mov ecx, ebx
push str.physical_memory
call fcn.100349a0
mov dword [esi + 0x18], ebx
lea edi, [esi + 8]
mov ecx, dword [ebp + 0xc]
mov edx, edi
lea eax, [esi + 0x18]
push eax
push ebx
call fcn.1012d076
add esp, 8
mov eax, dword [edi]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b26f
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x190]
movsd qword [edi], xmm0
mov byte [esi + 0x19b], 0
mov word [esi + 0x190], 0
cmp byte [esi + 0x7b], 0
js 0x1012b29f
lea edi, [esi + 8]
jmp 0x1012b2c4
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
lea edi, [esi + 8]
jns 0x1012b2c4
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
push ebx
call fcn.10085f00
add esp, 4
movzx eax, byte [esi + 0x7b]
test al, al
jns 0x1012b2db
mov ebx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
xor ecx, ecx
mov dword [esi + 0x194], ecx
mov dword [esi + 0x190], ecx
mov dword [esi + 0x198], ecx
lea ecx, [esi + 0x190]
push ecx
push eax
push ebx
call fcn.10078c10
add esp, 0xc
mov ecx, edi
push str.cpu_information
call fcn.100349a0
mov dword [esi + 0x28], edi
lea ebx, [esi + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
lea eax, [esi + 0x28]
push eax
push edi
call fcn.1012d076
add esp, 8
mov eax, dword [ebx]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b339
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x190]
movsd qword [edi], xmm0
mov byte [esi + 0x19b], 0
mov word [esi + 0x190], 0
cmp byte [esi + 0x13], 0
js 0x1012b36c
lea edi, [esi + 0x190]
jmp 0x1012b394
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
lea edi, [esi + 0x190]
jns 0x1012b394
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x1012b3a5
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
push edi
call fcn.1011d59c
add esp, 4
lea ebx, [esi + 0x70]
mov ecx, ebx
push str.ip_address
call fcn.100349a0
mov dword [esi + 0x18], ebx
lea edx, [esi + 8]
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 0x18]
push eax
mov edi, edx
push ebx
call fcn.1012d076
add esp, 8
mov eax, dword [edi]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b3ea
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
mov dword [edi + 8], eax
movq xmm0, qword [esi + 0x190]
movq qword [edi], xmm0
mov byte [esi + 0x19b], 0
mov word [esi + 0x190], 0
cmp byte [esi + 0x7b], 0
jns 0x1012b437
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
jns 0x1012b437
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
xor edi, edi
dec edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edi
lea ebx, [esi + 0x28]
push ebx
call fcn.1015dbe0
add esp, 4
mov dword [esi + 0x1b0], edi
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x1a0], xmm0
movdqa xmmword [esi + 0x190], xmm0
push ebx
lea edi, [esi + 0x190]
push edi
call fcn.1015a3b3
add esp, 8
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x80], xmm0
movdqa xmmword [esi + 0x70], xmm0
push edi
push str._Y__m__d__H:_M:_S
push 0x20
lea ebx, [esi + 0x70]
push ebx
call fcn.1015c216
add esp, 0x10
xor edi, edi
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 0x10], edi
push ebx
call fcn.10163870
add esp, 4
lea ebx, [esi + 8]
mov ecx, ebx
push eax
lea eax, [esi + 0x70]
push eax
call fcn.1005639a
movzx eax, byte [esi + 0x13]
test al, al
jns 0x1012b4cc
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x18], edi
mov dword [esi + 0x20], edi
lea ecx, [esi + 0x18]
push ecx
push eax
push ebx
call fcn.10078c10
add esp, 0xc
cmp byte [esi + 0x13], 0
jns 0x1012b4f4
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
lea ebx, [esi + 0x190]
mov ecx, ebx
push str.date_time
call fcn.100349a0
lea eax, [esi + 8]
mov dword [eax], ebx
lea edi, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
mov edx, edi
push eax
push ebx
call fcn.1012d076
add esp, 8
mov eax, dword [edi]
lea ebx, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b532
push dword [ebx]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x20]
mov dword [ebx + 8], eax
movq xmm0, qword [esi + 0x18]
movq qword [ebx], xmm0
mov byte [esi + 0x23], 0
mov word [esi + 0x18], 0
cmp byte [esi + 0x19b], 0
js 0x1012b55c
lea ebx, [esi + 0x190]
jmp 0x1012b581
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x23], 0
lea ebx, [esi + 0x190]
jns 0x1012b581
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x1a0], xmm0
movdqa xmmword [esi + 0x190], xmm0
push ebx
call fcn.1013ba00
add esp, 4
push ebx
push str.desc:
push edi
call fcn.1003c340
add esp, 0xc
movzx eax, byte [esi + 0x7b]
test al, al
jns 0x1012b5c6
mov eax, dword [esi + 0x74]
mov edi, dword [esi + 0x70]
lea ecx, [esi + 0x18]
push eax
push edi
call fcn.1005725a
cmp byte [esi + 0x7b], 0
jns 0x1012b5e1
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x1a8]
lea ebx, [esi + 0x70]
xor ecx, ecx
dec ecx
mov dword [ebx + 7], ecx
mov dword [ebx + 4], ecx
mov dword [ebx], ecx
push eax
push ebx
call fcn.1003c6a4
add esp, 8
lea ecx, [esi + 8]
push eax
push ebx
call fcn.10057970
xor edi, edi
lea ecx, [esi + 8]
push 9
push str._memory:
push edi
call fcn.10056d64
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
movsd xmm0, qword [eax]
movsd qword [ebx], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [ebx + 0xb]
test al, al
cmovs eax, dword [ebx + 4]
mov edx, dword [ebx]
cmovns edx, ebx
lea ecx, [esi + 0x18]
push eax
push edx
call fcn.1005725a
cmp byte [ebx + 0xb], 0
jns 0x1012b65b
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x13], 0
jns 0x1012b66c
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
lea eax, [esi + 0x19c]
push eax
push str._driver:
push ebx
call fcn.1003c340
add esp, 0xc
movzx eax, byte [esi + 0x7b]
test al, al
jns 0x1012b68f
mov eax, dword [esi + 0x74]
mov ebx, dword [esi + 0x70]
lea ecx, [esi + 0x18]
push eax
push ebx
call fcn.1005725a
cmp byte [esi + 0x7b], 0
jns 0x1012b6aa
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x1a7], 0
jns 0x1012b6c1
push dword [esi + 0x19c]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
jns 0x1012b6d8
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
lea edi, [esi + 0x190]
mov ecx, edi
push str.gpu_information
call fcn.100349a0
mov dword [esi + 8], edi
lea ebx, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
lea eax, [esi + 8]
push eax
push edi
call fcn.1012d076
add esp, 8
mov eax, dword [ebx]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b717
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x18]
movsd qword [edi], xmm0
mov byte [esi + 0x23], 0
mov word [esi + 0x18], 0
cmp byte [esi + 0x19b], 0
jns 0x1012b758
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x23], 0
jns 0x1012b758
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
lea eax, [esi + 0x190]
push eax
call fcn.1011d6aa
add esp, 4
lea ebx, [esi + 0x70]
mov ecx, ebx
push str.mac_address
call fcn.100349a0
mov dword [esi + 0x18], ebx
lea edi, [esi + 8]
mov ecx, dword [ebp + 0xc]
mov edx, edi
lea eax, [esi + 0x18]
push eax
push ebx
call fcn.1012d076
add esp, 8
mov dword [esi + 0x34], edi
mov eax, dword [edi]
lea edi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x1012b7a6
push dword [edi]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x190]
movsd qword [edi], xmm0
mov byte [esi + 0x19b], 0
mov word [esi + 0x190], 0
cmp byte [esi + 0x7b], 0
jns 0x1012b7f3
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x19b], 0
jns 0x1012b7f3
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
xorps xmm0, xmm0
movups xmmword [esi + 0x1b4], xmm0
movups xmmword [esi + 0x1a4], xmm0
movups xmmword [esi + 0x194], xmm0
mov dword [esi + 0x1c4], 0
mov eax, 0x38
mov dword [esi + 0x190], eax
push eax
lea eax, [esi + 0x190]
push eax
call sub.KERNEL32.dll_K32GetPerformanceInfo
test eax, eax
je 0x1012b9cb
mov edi, dword [esi + 0x1b8]
mov eax, edi
mul dword [esi + 0x194]
push edx
push eax
lea ebx, [esi + 0x70]
push ebx
call fcn.10076940
add esp, 0xc
lea ecx, [esi + 0x110]
push ebx
push 0xf
push str.sys.CommitTotal
call fcn.1007c2c0
cmp byte [esi + 0x7b], 0
jns 0x1012b875
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, edi
mul dword [esi + 0x198]
push edx
push eax
push ebx
call fcn.10076940
add esp, 0xc
lea ecx, [esi + 0x110]
push ebx
push 0xf
push str.sys.CommitLimit
call fcn.1007c2c0
cmp byte [esi + 0x7b], 0
jns 0x1012b8ac
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, edi
mul dword [esi + 0x19c]
push edx
push eax
push ebx
call fcn.10076940
add esp, 0xc
lea ecx, [esi + 0x110]
push ebx
push 0xe
push str.sys.CommitPeak
call fcn.1007c2c0
cmp byte [esi + 0x7b], 0
jns 0x1012b8e3
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, edi
mul dword [esi + 0x1a0]
push edx
push eax
push ebx
call fcn.10076940
add esp, 0xc
lea ecx, [esi + 0x110]
push ebx
push 0x11
push str.sys.PhysicalTotal
call fcn.1007c2c0
cmp byte [esi + 0x7b], 0
jns 0x1012b91a
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, edi
mul dword [esi + 0x1a4]
push edx
push eax
push ebx
call fcn.10076940
add esp, 0xc
lea ecx, [esi + 0x110]
push ebx
push 0x15
push str.sys.PhysicalAvailable
call fcn.1007c2c0
cmp byte [esi + 0x7b], 0
jns 0x1012b951
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
sub eax, dword [esi + 0x1a0]
mul edi
push edx
push eax
push ebx
call fcn.10076940
add esp, 0xc
lea ecx, [esi + 0x110]
push ebx
push 0x11
push str.sys.VirtualMemory
call fcn.1007c2c0
cmp byte [esi + 0x7b], 0
jns 0x1012b98e
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x198]
sub eax, dword [esi + 0x194]
mul edi
push edx
push eax
push ebx
call fcn.10076940
add esp, 0xc
lea ecx, [esi + 0x110]
push ebx
push 0x13
push str.sys.CommitRemaining
call fcn.1007c2c0
cmp byte [esi + 0x7b], 0
jns 0x1012b9cb
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov ebx, dword [ebp + 0xc]
lea edi, [ebx + 4]
lea ecx, [esi + 0x190]
push str.user_name
call fcn.100349a0
mov eax, edi
mov edi, dword [ebx + 4]
mov ecx, eax
test edi, edi
mov dword [esi + 0x4c], eax
je 0x1012ba47
mov ebx, eax
lea eax, [edi + 0x10]
lea ecx, [esi + 0x190]
push ecx
push eax
lea eax, [esi + 0x70]
push eax
call fcn.10115b1c
add esp, 0xc
lea eax, [edi + 4]
cmp byte [esi + 0x70], 0
cmovns eax, edi
cmovns ebx, edi
mov edi, dword [eax]
test edi, edi
jne 0x1012b9f1
mov eax, dword [esi + 0x4c]
mov ecx, eax
cmp ebx, eax
je 0x1012ba47
lea eax, [ebx + 0x10]
push eax
lea eax, [esi + 0x190]
push eax
lea eax, [esi + 0x70]
push eax
call fcn.10115b1c
mov eax, dword [esi + 0x4c]
add esp, 0xc
cmp byte [esi + 0x70], 0
cmovs ebx, eax
mov ecx, ebx
cmp byte [esi + 0x19b], 0
jns 0x1012ba65
push dword [esi + 0x190]
mov edi, ecx
call fcn.10145bd4
mov ecx, edi
mov eax, dword [esi + 0x4c]
add esp, 4
cmp ecx, eax
lea ebx, [esi + 0x70]
jne 0x1012bb68
lea edi, [esi + 0x18]
mov dword [edi], 0xffffffff
mov ecx, edi
call fcn.100105a6
mov ecx, edi
call fcn.10010d7a
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 0xb], eax
push 0x208
mov dword [esi + 0x48], 0
push eax
lea ebx, [esi + 0x190]
push ebx
call fcn.10149430
add esp, 0xc
lea eax, [esi + 0x28]
mov dword [eax], 0x104
push eax
push ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x1012baec
cmp dword [esi + 0x28], 0
mov eax, 0
je 0x1012baee
lea edi, [esi + 0x70]
mov ecx, edi
push ebx
call fcn.100349a0
mov eax, dword [edi]
mov dword [esi + 0x48], eax
mov eax, dword [edi + 4]
mov dword [esi + 8], eax
mov eax, dword [edi + 7]
mov dword [esi + 0xb], eax
mov al, byte [edi + 0xb]
jmp 0x1012baee
xor eax, eax
mov dword [esi + 0x5c], eax
lea edi, [esi + 0x18]
mov ecx, edi
call fcn.100106c4
mov ecx, edi
call fcn.1001061c
mov ecx, ebx
push str.user_name
call fcn.100349a0
mov dword [edi], ebx
lea edx, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
push edi
push ebx
call fcn.1012d076
add esp, 8
lea eax, [esi + 0x70]
mov edi, dword [eax]
cmp byte [edi + 0x27], 0
jns 0x1012bb36
push dword [edi + 0x1c]
call fcn.10145bd4
add esp, 4
mov eax, dword [esi + 0x48]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xb]
mov dword [edi + 0x20], eax
mov dword [edi + 0x23], ecx
mov eax, dword [esi + 0x5c]
mov byte [edi + 0x27], al
cmp byte [esi + 0x19b], 0
lea ebx, [esi + 0x70]
jns 0x1012bb68
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
xor edi, edi
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edi
mov dword [esi + 0x78], edi
push ebx
call fcn.10163aa4
add esp, 4
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 0x10], edi
lea ecx, [esi + 8]
push ecx
push eax
push ebx
call fcn.10078390
add esp, 0xc
movq xmm0, qword [esi + 8]
movq qword [esi + 0x190], xmm0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x198], eax
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x1a0], 4
cmp dword [esi + 0x120], 6
jne 0x1012ce2f
lea ecx, [esi + 0x110]
lea edi, [esi + 0x190]
push edi
push 0x15
push str.others.process_status
call fcn.1007ac70
mov eax, dword [esi + 0x1a0]
mov dword [esi + 0x18], edi
push eax
lea eax, [esi + 0x18]
push eax
call fcn.1007c930
add esp, 8
cmp byte [esi + 0x13], 0
jns 0x1012bc09
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
mov ebx, 0xffffffff
jns 0x1012bc1f
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x194], 0xffffff01
mov dword [esi + 0x190], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
test eax, eax
je 0x1012ce9a
lea edi, [esi + 0x190]
mov ecx, edi
lea eax, [esi + 0x28]
push eax
call fcn.100827f0
mov ecx, edi
call fcn.1003b3e0
mov eax, dword [esi + 0x28]
or eax, dword [esi + 0x2c]
je 0x1012bd28
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x1a0], xmm0
movdqa xmmword [esi + 0x190], xmm0
lea ecx, [esi + 0x28]
push edi
push 1
call fcn.100863c0
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
push dword [esi + 0x1ac]
push dword [esi + 0x1a8]
push dword [esi + 0x1a4]
push dword [esi + 0x1a0]
push dword [esi + 0x19c]
push dword [esi + 0x194]
push dword [esi + 0x190]
push str._04d__02d__02d__02d:_02d:_02d._03d
lea eax, [esi + 0x70]
push eax
call fcn.10077790
add esp, 0x24
lea ebx, [esi + 8]
mov ecx, ebx
push str.process_create_time
call fcn.100349a0
mov dword [esi + 0x38], ebx
lea edi, [esi + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, edi
lea eax, [esi + 0x38]
push eax
push ebx
lea ebx, [esi + 0x70]
call fcn.1012d076
add esp, 8
mov ecx, dword [edi]
add ecx, 0x1c
push ebx
call fcn.1005cf00
cmp byte [esi + 0x13], 0
jns 0x1012bd14
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x1012bd25
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
xor ebx, ebx
dec ebx
xor edi, edi
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 0x10], edi
lea ecx, [esi + 0x18]
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
push 0x1019d59a
call fcn.100349a0
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x30], edi
lea edi, [esi + 0x190]
lea ecx, [esi + 0x18]
lea eax, [esi + 8]
push eax
call fcn.1013aac8
test al, al
je 0x1012bf46
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
movzx eax, byte [esi + 0x13]
test al, al
jns 0x1012bd84
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
jmp 0x1012bd87
lea edx, [esi + 8]
lea edi, [esi + 0x190]
mov ecx, edi
push eax
push edx
call fcn.10060680
mov ecx, edi
push 7
push str.Protect
lea eax, [esi + 0x38]
push eax
call fcn.10061990
cmp byte [edi + 0xb], 0
jns 0x1012bdbc
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
lea ecx, [esi + 0x38]
push 6
push str.config
push edi
call fcn.10061990
mov ecx, edi
push 3
push 0x1019d388
lea edi, [esi + 0x70]
push edi
call fcn.10062a60
cmp byte [esi + 0x19b], 0
jns 0x1012bdfe
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
push edi
call fcn.1007e430
add esp, 4
test al, al
je 0x1012bea2
pxor xmm0, xmm0
movdqa xmmword [esi + 0x1c0], xmm0
movdqa xmmword [esi + 0x1b0], xmm0
movdqa xmmword [esi + 0x1a0], xmm0
movdqa xmmword [esi + 0x190], xmm0
cmp byte [esi + 0x7b], 0
jns 0x1012be3c
mov edi, dword [esi + 0x70]
mov ecx, 0x1019d59a
push edi
push 0x20
lea edi, [esi + 0x190]
push edi
push ecx
push str.Running
push str.ServerLoadInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x1019d59a
push eax
push edi
call fcn.1016442d
add esp, 8
test eax, eax
je 0x1012bea2
push edi
call fcn.10163aa4
add esp, 4
lea ecx, [esi + 0x28]
push eax
push edi
call fcn.10056e90
cmp byte [esi + 0x7b], 0
lea edi, [esi + 0x190]
jns 0x1012bf35
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
jmp 0x1012bf35
cmp byte [esi + 0x7b], 0
jns 0x1012beb3
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
lea edi, [esi + 0x190]
mov dword [esi + 0x190], ebx
mov dword [esi + 0x194], ebx
mov dword [esi + 0x198], ebx
lea ecx, [esi + 0x38]
push 0xa
push str.UpdateMain
lea ebx, [esi + 0x70]
push ebx
call fcn.10061990
mov ecx, ebx
push 3
push 0x101b056a
push edi
call fcn.10062a60
cmp byte [esi + 0x7b], 0
jns 0x1012befe
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
push edi
call fcn.10012a8e
add esp, 4
test al, al
je 0x1012bf18
lea eax, [esi + 0x28]
push edi
push eax
call fcn.10012b74
add esp, 8
cmp byte [esi + 0x19b], 0
jns 0x1012bf2f
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
lea edi, [esi + 0x190]
cmp byte [esi + 0x43], 0
jns 0x1012bf46
push dword [esi + 0x38]
call fcn.10145bd4
add esp, 4
mov ecx, edi
push str.service_version
call fcn.100349a0
mov dword [esi + 0x38], edi
lea edx, [esi + 0x70]
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 0x38]
push eax
mov ebx, edi
push edi
call fcn.1012d076
add esp, 8
lea eax, [esi + 0x70]
mov ecx, dword [eax]
add ecx, 0x1c
lea eax, [esi + 0x28]
push eax
call fcn.1005cf00
cmp byte [esi + 0x19b], 0
jns 0x1012bf92
push dword [esi + 0x190]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x33], 0
jns 0x1012bfa3
push dword [esi + 0x28]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x23], 0
jns 0x1012bfb4
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x13], 0
jns 0x1012bfc5
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
pxor xmm0, xmm0
movdqa xmmword [esi + 0x190], xmm0
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
jne 0x1012c024
lea ebx, [esi + 0x70]
mov ecx, ebx
push str.proxy
call fcn.100349a0
lea eax, [esi + 0x18]
mov dword [eax], ebx
lea edi, [esi + 8]
mov ecx, dword [ebp + 0xc]
mov edx, edi
push eax
push ebx
call fcn.1012d076
add esp, 8
mov ecx, dword [edi]
add ecx, 0x1c
push 0xb
push str.not_fetched
call fcn.10056e90
cmp byte [ebx + 0xb], 0
jns 0x1012c024
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
xor edi, edi
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edi
mov dword [esi + 0x78], edi
mov ebx, dword [esi + 0x194]
test ebx, ebx
je 0x1012c058
push ebx
call fcn.10163aa4
add esp, 4
lea ecx, [esi + 0x70]
push eax
push ebx
call fcn.10056e90
push dword [esi + 0x194]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 0x10], edi
mov edi, dword [esi + 0x198]
test edi, edi
je 0x1012c08a
push edi
call fcn.10163aa4
add esp, 4
lea ecx, [esi + 8]
push eax
push edi
call fcn.10056e90
push dword [esi + 0x198]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], eax
mov edi, dword [esi + 0x19c]
test edi, edi
mov ebx, 0xffffffff
lea ecx, [esi + 0x18]
je 0x1012c0d2
push edi
call fcn.10163aa4
add esp, 4
lea ecx, [esi + 0x18]
push eax
push edi
call fcn.10056e90
push dword [esi + 0x19c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea ecx, [esi + 0x18]
cmp byte [ecx + 0xb], 0
jns 0x1012c0d2
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
cmp byte [esi + 0x13], 0
jns 0x1012c0e7
mov eax, dword [esi + 8]
mov dword [esi + 0x34], eax
cmp byte [esi + 0x7b], 0
lea eax, [esi + 0x70]
jns 0x1012c0f3
mov eax, dword [esi + 0x70]
push ecx
push dword [esi + 0x34]
push eax
push dword [esi + 0x190]
push str.auto_detect___d__auto_config_url_ls__single_proxy___ls__proxy_by_pass__ls
lea ebx, [esi + 0x28]
push ebx
call fcn.10077790
add esp, 0x18
lea edi, [esi + 0x38]
mov ecx, edi
push str.proxy
call fcn.100349a0
lea eax, [esi + 0x100]
mov dword [eax], edi
lea ebx, [esi + 0x60]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
push eax
push edi
call fcn.1012d076
add esp, 8
mov ecx, dword [ebx]
add ecx, 0x1c
lea eax, [esi + 0x28]
push eax
call fcn.1005cf00
cmp byte [esi + 0x43], 0
jns 0x1012c157
push dword [esi + 0x38]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x33], 0
lea edi, [esi + 0x190]
jns 0x1012c16e
push dword [esi + 0x28]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x23], 0
jns 0x1012c17f
push dword [esi + 0x18]
call fcn.10145bd4
add esp, 4
cmp byte [esi + 0x13], 0
jns 0x1012c190
push dword [esi + 8]
call fcn.10145bd4
add esp, 4
mov eax, dword [ebp + 0x14]
cmp byte [esi + 0x7b], 0
jns 0x1012c1a8
push dword [esi + 0x70]
mov ebx, eax
call fcn.10145bd4
mov eax, ebx
add esp, 4
xor ebx, ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_GetGuiResources]
xor ecx, ecx
dec ecx
mov dword [esi + 0x197], ecx
mov dword [esi + 0x194], ecx
mov dword [esi + 0x190], ecx
push eax
push edi
call fcn.1003c6a4
add esp, 8
mov edx, edi
lea edi, [esi + 0x70]
mov ecx, edi
push eax
push edx
call fcn.100367b0
movq xmm0, qword [edi]
movq qword [esi + 0x190], xmm0
mov eax, dword [edi + 8]
mov dword [esi + 0x198], eax
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [esi + 0x1a0], 4
cmp dword [esi + 0x120], 6
jne 0x1012ce2f
lea ecx, [esi + 0x110]
lea edi, [esi + 0x190]
push edi
push 0xb
push str.handles.GDI
call fcn.1007ac70
mov eax, dword [esi + 0x1a0]
lea ecx, [esi + 8]
mov dword [ecx], edi
push eax
push ecx
call fcn.1007c930
add esp, 8
cmp byte [esi + 0x7b], 0
jns 0x1012c252
push dword [esi + 0x70]
call fcn.10145bd4
add esp, 4
push 1
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_GetGuiResources]
mov dword [esi + 0x18], eax
xor ecx, ecx
dec ecx
mov dword [esi + 0x197], ecx
mov dword [esi + 0x194], ecx
mov dword [esi + 0x190], ecx
push eax
push edi
call fcn.1003c6a4
add esp, 8
lea ebx, [esi + 0x70]
mov ecx, ebx
push eax
push edi
call fcn.100367b0
movq xmm0, qword [ebx]
movq qword [esi + 0x190], xmm0
mov eax, dword [ebx + 8]
mov dword [esi + 0x198], eax
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [esi + 0x1a0], 4
cmp dword [esi + 0x120], 6
jne 0x1012ce2f
lea eax, [ecx + ebx*2]
lea edi, [ecx + ebx*2]
add edi, 0xfffffffe
mov dword [esi + 0x34], edi
mov dword [esi + 0x130], ecx
add ebx, 0xfffffff5
je 0x1012ad61
xor edi, edi
cmp word [ecx + edi], 0x70
je 0x1012cc70
add edi, 2
dec ebx
jne 0x1012cc5e
jmp 0x1012ad61
mov ebx, ecx
add ebx, edi
je 0x1012ad61
mov dword [esi + 0x5c], eax
mov byte [esi + 0x48], dl
mov eax, 0xffffffe8
movzx edx, word [ebx + eax + 0x18]
cmp dx, word [eax + 0x101b016c]
jne 0x1012cc9d
add eax, 2
jne 0x1012cc85
jmp 0x1012ce05
mov eax, dword [esi + 0x34]
sub eax, ecx
add ecx, edi
add ecx, 2
sub eax, edi
mov ebx, eax
sar ebx, 1
cmp eax, 0x18
mov dl, byte [esi + 0x48]
mov eax, dword [esi + 0x5c]
jge 0x1012cc53
jmp 0x1012ad61
mov byte [esi + 0x19b], 4
mov dword [esi + 0x194], 0x37004e
jmp 0x1012cd5d
lea ecx, [esi + 0x190]
push 0xa
push str.WIN10_19H2
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 0xb
push str.SERVER_2003
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 5
push str.VISTA
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 6
push str.PRO_XP
jmp 0x1012b09b
mov byte [esi + 0x19b], 2
mov dword [esi + 0x190], 0x500058
mov word [esi + 0x194], 0
jmp 0x1012b0b2
lea ecx, [esi + 0x190]
push 0xa
push str.WIN10_20H2
jmp 0x1012b09b
mov byte [esi + 0x19b], 4
mov dword [esi + 0x194], 0x38004e
mov dword [esi + 0x190], 0x490057
mov word [esi + 0x198], 0
jmp 0x1012b0b2
lea ecx, [esi + 0x190]
push 0xb
push str.Server_2022
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 6
push str.WIN8.1
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 5
push str.WIN11
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 0xa
push str.WIN10_21H1
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 8
push str.WIN_LAST
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 0xa
push str.WIN10_19H1
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 0xa
push str.WIN10_21H2
jmp 0x1012b09b
lea ecx, [esi + 0x190]
push 0xa
push str.WIN10_20H1
jmp 0x1012b09b
cmp ebx, dword [esi + 0x5c]
je 0x1012ce34
mov eax, dword [esi + 0x130]
sub eax, ecx
add eax, 0xfffffffe
cmp eax, edi
mov dl, byte [esi + 0x48]
je 0x1012ad61
cmp byte [esi + 0x7b], 0
js 0x1012ce3c
lea eax, [esi + 0x70]
mov byte [eax + 0xb], 1
jmp 0x1012ce46
call fcn.1003af30
mov dl, byte [esi + 0x48]
jmp 0x1012ad61
mov dword [esi + 0x74], 1
mov eax, dword [esi + 0x70]
mov dword [eax], 0x31
mov dl, byte [esi + 0x23]
jmp 0x1012ad61
push 0x102cf590
call fcn.10145c47
add esp, 4
cmp dword [0x102cf590], 0xffffffff
jne 0x10129ca2
push 0x1012d260
call fcn.10145ead
add esp, 4
push 0x102cf590
call fcn.10145cbd
add esp, 4
jmp 0x10129ca2
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3