Function at 0x6152bffa
Capabilities:
Query environment variable

Disassembly:
lea ecx, [esp + 4]
and esp, 0xffffffe0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0xb78
mov byte [ebp - 0x810], 0x5b
vmovq xmm1, qword [0x615f4408]
vmovq qword [ebp - 0x818], xmm1
movzx eax, byte [0x615efdb0]
test al, al
je 0x6152d9b8
mov ecx, 0x615f28dc
call fcn.6153f0a0
mov dword [esp], 0x615f28dc
call fcn.6152b7e0
mov byte [ebp - 0x810], 0x5b
vmovq xmm2, qword [0x615f4408]
vmovq qword [ebp - 0x818], xmm2
movzx eax, byte [0x615efbb8]
test al, al
je 0x6152d960
mov ecx, 0x615f25e8
call fcn.6153f0a0
mov dword [esp], 0x615f25e8
call fcn.6152b7e0
mov byte [ebp - 0x810], 0x5b
vmovq xmm3, qword [0x615f4408]
vmovq qword [ebp - 0x818], xmm3
movzx eax, byte [0x615efc00]
test al, al
je 0x6152dc78
mov ecx, 0x615f2654
call fcn.6153f0a0
mov dword [esp], 0x615f2654
call fcn.6152b7e0
mov byte [ebp - 0x810], 0x5b
vmovq xmm4, qword [0x615f4408]
mov dword [ebp - 0xa20], 0x4130160a
vmovq qword [ebp - 0x818], xmm4
movzx eax, byte [0x615efc48]
test al, al
je 0x6152dc20
mov ecx, 0x615f26c0
call fcn.6153f0a0
mov dword [esp], 0x615f26c0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152c10d
lea ebx, [ebp - 0xa20]
call ebx
vmovq xmm5, qword [0x615f4408]
mov byte [ebp - 0x810], 0x5b
vmovq qword [ebp - 0x818], xmm5
movzx eax, byte [0x615efcd0]
test al, al
je 0x6152dbc8
mov ecx, 0x615f278c
call fcn.6153f0a0
mov dword [esp], 0x615f278c
call fcn.6152b7e0
mov byte [ebp - 0x810], 0x5b
vmovq xmm6, qword [0x615f4408]
vmovq qword [ebp - 0x818], xmm6
movzx eax, byte [0x615efd18]
test al, al
je 0x6152db70
mov ecx, 0x615f27f8
call fcn.6153f0a0
mov dword [esp], 0x615f27f8
call fcn.6152b7e0
mov byte [ebp - 0x810], 0x5b
vmovq xmm7, qword [0x615f4408]
vmovq qword [ebp - 0x818], xmm7
movzx eax, byte [0x615efd60]
test al, al
je 0x6152db18
mov ecx, 0x615f2864
call fcn.6153f0a0
mov dword [esp], 0x615f2864
call fcn.6152b7e0
mov byte [ebp - 0x810], 0x5b
vmovq xmm1, qword [0x615f4408]
mov dword [ebp - 0xa20], 0x55401e0e
vmovq qword [ebp - 0x818], xmm1
movzx eax, byte [0x615efda0]
test al, al
je 0x6152dac0
mov ecx, 0x615f28c4
call fcn.6153f0a0
mov dword [esp], 0x615f28c4
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152c213
lea ebx, [ebp - 0xa20]
call ebx
lea eax, [ebp - 0x818]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov byte [ebp - 0xa18], 0x5b
vmovq xmm2, qword [0x615f4408]
sub esp, 0xc
vmovq qword [ebp - 0xa20], xmm2
movzx eax, byte [0x615efda8]
test al, al
je 0x6152da68
mov ecx, 0x615f28d0
call fcn.6153f0a0
mov dword [esp], 0x615f28d0
call fcn.6152b7e0
mov byte [ebp - 0xa18], 0x5b
vmovq xmm3, qword [0x615f4408]
vmovq qword [ebp - 0xa20], xmm3
movzx eax, byte [0x615efbc0]
test al, al
je 0x6152da10
mov ecx, 0x615f25f4
call fcn.6153f0a0
mov dword [esp], 0x615f25f4
call fcn.6152b7e0
mov byte [ebp - 0xa18], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0xa20], xmm4
movzx eax, byte [0x615efbc8]
test al, al
je 0x6152d908
mov ecx, 0x615f2600
call fcn.6153f0a0
mov dword [esp], 0x615f2600
call fcn.6152b7e0
mov byte [ebp - 0xa18], 0x5b
vmovq xmm5, qword [0x615f4408]
mov dword [ebp - 0xa58], 0x69502612
vmovq qword [ebp - 0xa20], xmm5
movzx eax, byte [0x615efbd0]
test al, al
je 0x6152d8b0
mov ecx, 0x615f260c
call fcn.6153f0a0
mov dword [esp], 0x615f260c
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152c33b
lea eax, [ebp - 0xa58]
call eax
lea eax, [ebp - 0xabc]
mov dword [ebp - 0xac4], eax
lea eax, [ebp - 0x818]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
lea ecx, [ebp - 0xac4]
lea eax, [ebp + eax*2 - 0x818]
mov dword [esp + 4], eax
lea eax, [ebp - 0x818]
mov dword [esp], eax
call fcn.615ce070
sub esp, 8
call sub.msvcrt.dll_rand
lea eax, [ebp - 0xadc]
mov dword [ebp - 0xadc], 0x44707041
lea ecx, [ebp - 0xaac]
mov dword [ebp - 0xad8], 0x617461
mov dword [esp], eax
call fcn.615ccf00
sub esp, 4
lea eax, [ebp - 0xaac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa94]
mov dword [esp], eax
call fcn.61538b10
mov eax, dword [ebp - 0xac4]
mov esi, dword [ebp - 0xa90]
mov edi, dword [ebp - 0xa94]
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0xb4c], eax
test esi, esi
je 0x6152c581
test edx, edx
je 0x6152c470
cmp edx, esi
jb 0x6152c470
mov ebx, eax
lea eax, [edx + 1]
sub eax, esi
test ebx, ebx
je 0x6152c470
test eax, eax
je 0x6152c470
lea edx, [ebx + edx*2]
movzx ecx, word [edi]
mov dword [ebp - 0xb50], edx
mov edx, ebx
mov ebx, 1
sub ebx, esi
mov dword [ebp - 0xb54], ebx
jmp 0x6152c428
add edx, 2
sub eax, 1
je 0x6152c470
cmp cx, word [edx]
jne 0x6152c420
cmp edx, edi
je 0x6152c570
xor eax, eax
jmp 0x6152c44b
add eax, 1
cmp esi, eax
je 0x6152c570
movzx ebx, word [edi + eax*2]
cmp word [edx + eax*2], bx
je 0x6152c440
mov eax, dword [ebp - 0xb50]
add edx, 2
sub eax, edx
sar eax, 1
cmp eax, esi
jb 0x6152c470
mov ebx, dword [ebp - 0xb54]
add eax, ebx
jne 0x6152c428
lea eax, [ebp - 0xa70]
lea edi, [ebp - 0xa78]
mov dword [ebp - 0xa78], eax
lea eax, [ebp - 0x818]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
mov ecx, edi
lea eax, [ebp + eax*2 - 0x818]
mov dword [esp + 4], eax
lea eax, [ebp - 0x818]
mov dword [esp], eax
call fcn.615ce070
sub esp, 8
mov byte [ebp - 0xaf0], 0
lea esi, [ebp - 0xa58]
mov dword [ebp - 0xaf4], 0x776b6050
call sub.msvcrt.dll_rand
lea eax, [ebp - 0xaf4]
mov ecx, esi
xor dword [ebp - 0xaf4], 0x7060504
mov dword [esp], eax
call fcn.615ccf00
sub esp, 4
lea ebx, [ebp - 0xa20]
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.61538b10
mov eax, dword [ebp - 0xa1c]
mov dword [esp], eax
mov eax, dword [ebp - 0xa20]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0xa74]
mov eax, dword [ebp - 0xa78]
call fcn.6154fd90
mov ecx, ebx
mov byte [ebp - 0xb4c], al
call fcn.615cdbd0
mov ecx, esi
call fcn.615c9890
mov ecx, edi
call fcn.615cdbd0
lea ecx, [ebp - 0xa94]
call fcn.615cdbd0
lea ecx, [ebp - 0xaac]
call fcn.615c9890
lea ecx, [ebp - 0xac4]
call fcn.615cdbd0
cmp byte [ebp - 0xb4c], 0
jne 0x6152c5a8
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov eax, dword [ebp - 0xb4c]
sub edx, eax
cmp edx, 0xfffffffe
je 0x6152c470
lea ecx, [ebp - 0xa94]
lea ebx, [ebp - 0xa20]
call fcn.615cdbd0
lea ecx, [ebp - 0xaac]
call fcn.615c9890
lea ecx, [ebp - 0xac4]
call fcn.615cdbd0
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x28
mov dword [esp], 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
sub esp, 0x14
mov dword [esp], ebx
call sub.msvcrt.dll_wcslen
mov dword [esp], ebx
lea ecx, [ebp - 0xa94]
mov dword [esp + 4], eax
call fcn.615d0c20
lea ecx, [ebp - 0xa7c]
sub esp, 8
call fcn.6159e390
lea ecx, [ebp - 0xa94]
call fcn.6159d6b0
lea edi, [ebp - 0xa78]
lea esi, [ebp - 0xa58]
call sub.msvcrt.dll_rand
mov ecx, esi
mov dword [ebp - 0xa78], 0x2e505641
mov dword [ebp - 0xa74], 0x657865
mov dword [esp], edi
call fcn.615ccf00
sub esp, 4
lea eax, [ebp - 0xb3c]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.61538b10
mov ecx, esi
call fcn.615c9890
mov byte [ebp - 0xa50], 0x5b
vmovq xmm6, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efbd8]
test al, al
je 0x6152dccc
mov ecx, 0x615f2618
call fcn.6153f0a0
mov dword [esp], 0x615f2618
call fcn.6152b7e0
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efbe0]
test al, al
je 0x6152e9ec
mov ecx, 0x615f2624
call fcn.6153f0a0
mov dword [esp], 0x615f2624
call fcn.6152b7e0
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efbe8]
test al, al
je 0x6152e998
mov ecx, 0x615f2630
call fcn.6153f0a0
mov dword [esp], 0x615f2630
call fcn.6152b7e0
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0x7d602e16
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efbf0]
test al, al
je 0x6152e944
mov ecx, 0x615f263c
call fcn.6153f0a0
mov dword [esp], 0x615f263c
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152c752
call edi
mov eax, 0x6c64787f
mov edx, 0x753e6e7a
mov byte [ebp - 0xa6e], 0
mov dword [ebp - 0xa78], eax
mov eax, 0x7f7e
mov dword [ebp - 0xa74], edx
mov word [ebp - 0xa70], ax
call sub.msvcrt.dll_rand
movzx ebx, byte [ebp - 0xa77]
movzx edx, byte [ebp - 0xa76]
movzx eax, byte [ebp - 0xa78]
movzx ecx, byte [ebp - 0xa74]
xor word [ebp - 0xa70], 0x1312
xor ebx, 0xb
xor edx, 0xc
mov byte [ebp - 0xb50], bl
movzx ebx, byte [ebp - 0xa72]
xor eax, 0xa
xor ecx, 0xe
mov byte [ebp - 0xb54], dl
movzx edx, byte [ebp - 0xa75]
xor ebx, 0x10
mov byte [ebp - 0xb4c], al
movzx eax, byte [ebp - 0xa73]
xor edx, 0xd
mov byte [ebp - 0xb56], bl
movzx ebx, byte [ebp - 0xb54]
movzx edx, dl
xor eax, 0xf
mov byte [ebp - 0xb55], cl
shl edx, 8
movzx ecx, al
movzx eax, byte [ebp - 0xa71]
or edx, ebx
movzx ebx, byte [ebp - 0xb50]
shl edx, 8
xor eax, 0x11
or edx, ebx
movzx ebx, byte [ebp - 0xb4c]
movzx eax, al
shl eax, 8
shl edx, 8
mov dword [ebp - 0xb4c], ebx
movzx ebx, byte [ebp - 0xb56]
or eax, ebx
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0xb55]
shl eax, 8
mov dword [ebp - 0xb54], eax
mov eax, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], ecx
or eax, edx
mov edx, dword [ebp - 0xb54]
mov ecx, eax
mov eax, dword [ebp - 0xb50]
mov dword [ebp - 0xa78], ecx
mov ecx, esi
or eax, edx
mov dword [ebp - 0xa74], eax
mov dword [esp], edi
call fcn.615ccf00
sub esp, 4
lea eax, [ebp - 0xb24]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.61538b10
mov ecx, esi
call fcn.615c9890
call fcn.615de410
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efc08]
test al, al
je 0x6152e8f0
mov ecx, 0x615f2660
call fcn.6153f0a0
mov dword [esp], 0x615f2660
call fcn.6152b7e0
call fcn.615de490
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
mov dword [ebp - 0xa58], 0x9170361a
call fcn.615de510
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152c927
call esi
mov ecx, edi
call fcn.6153efd0
mov dword [esp], edi
mov ecx, esi
call fcn.615ccf00
sub esp, 4
lea eax, [ebp - 0xb0c]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.61538b10
mov ecx, esi
call fcn.615c9890
call fcn.615de590
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efc28]
test al, al
je 0x6152e89c
mov ecx, 0x615f2690
call fcn.6153f0a0
mov dword [esp], 0x615f2690
call fcn.6152b7e0
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efc30]
test al, al
je 0x6152e848
mov ecx, 0x615f269c
call fcn.6153f0a0
mov dword [esp], 0x615f269c
call fcn.6152b7e0
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0xa5803e1e
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efc38]
test al, al
je 0x6152e7f4
mov ecx, 0x615f26a8
call fcn.6153f0a0
mov dword [esp], 0x615f26a8
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152ca2e
call edi
mov eax, dword [ebp - 0xb20]
mov ecx, edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb24]
mov dword [esp], eax
call fcn.615a0280
lea eax, [ebp - 0xa50]
mov edx, dword [ebp - 0xa90]
sub esp, 8
mov ecx, esi
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa94]
lea edx, [eax + edx*2]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.615ce3a0
sub esp, 8
lea eax, [ebp - 0xa7c]
lea ecx, [ebp - 0xa40]
mov dword [esp], eax
call fcn.6159e290
sub esp, 4
mov ecx, esi
mov dword [esp], edi
call fcn.615a0570
lea eax, [ebp - 0xaec]
mov edx, dword [ebp - 0xa54]
sub esp, 4
lea ecx, [ebp - 0xaf4]
mov dword [ebp - 0xaf4], eax
mov eax, dword [ebp - 0xa58]
lea edx, [eax + edx*2]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.615ce3a0
sub esp, 8
mov ecx, esi
call fcn.615a0370
mov ecx, edi
call fcn.615a0370
mov byte [ebp - 0xa50], 0x5b
vmovq xmm0, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm0
movzx eax, byte [0x615efc40]
test al, al
je 0x6152e7a0
mov ecx, 0x615f26b4
call fcn.6153f0a0
mov dword [esp], 0x615f26b4
call fcn.6152b7e0
call fcn.615de610
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
call fcn.615de690
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm1, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0xb9904622
vmovq qword [ebp - 0xa58], xmm1
movzx eax, byte [0x615efc60]
test al, al
je 0x6152e74c
mov ecx, 0x615f26e4
call fcn.6153f0a0
mov dword [esp], 0x615f26e4
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152cb8d
call edi
mov eax, dword [ebp - 0xb38]
mov ecx, edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb3c]
mov dword [esp], eax
call fcn.615a0280
sub esp, 8
lea eax, [ebp - 0xa94]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.615a1900
lea eax, [ebp - 0xad4]
mov edx, dword [ebp - 0xa54]
lea ecx, [ebp - 0xadc]
mov dword [ebp - 0xadc], eax
mov eax, dword [ebp - 0xa58]
lea edx, [eax + edx*2]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.615ce3a0
sub esp, 8
mov ecx, esi
call fcn.615a0370
mov ecx, edi
call fcn.615a0370
mov byte [ebp - 0xa50], 0x5b
vmovq xmm2, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm2
movzx eax, byte [0x615efc68]
test al, al
je 0x6152e6f8
mov ecx, 0x615f26f0
call fcn.6153f0a0
mov dword [esp], 0x615f26f0
call fcn.6152b7e0
vmovq xmm3, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm3
movzx eax, byte [0x615efc70]
test al, al
je 0x6152e6a4
mov ecx, 0x615f26fc
call fcn.6153f0a0
mov dword [esp], 0x615f26fc
call fcn.6152b7e0
call fcn.615de710
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm4, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0xcda04e26
vmovq qword [ebp - 0xa58], xmm4
movzx eax, byte [0x615efc80]
test al, al
je 0x6152e650
mov ecx, 0x615f2714
call fcn.6153f0a0
mov dword [esp], 0x615f2714
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152ccd8
call edi
mov eax, dword [ebp - 0xb08]
mov ecx, edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0c]
mov dword [esp], eax
call fcn.615a0280
sub esp, 8
lea eax, [ebp - 0xa94]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.615a1900
lea eax, [ebp - 0xabc]
mov edx, dword [ebp - 0xa54]
lea ecx, [ebp - 0xac4]
mov dword [ebp - 0xac4], eax
mov eax, dword [ebp - 0xa58]
lea edx, [eax + edx*2]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.615ce3a0
sub esp, 8
mov ecx, esi
call fcn.615a0370
mov ecx, edi
call fcn.615a0370
mov byte [ebp - 0xa50], 0x5b
vmovq xmm5, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm5
movzx eax, byte [0x615efc88]
test al, al
je 0x6152e5fc
mov ecx, 0x615f2720
call fcn.6153f0a0
mov dword [esp], 0x615f2720
call fcn.6152b7e0
call fcn.615de790
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efc98]
test al, al
je 0x6152e5a8
mov ecx, 0x615f2738
call fcn.6153f0a0
mov dword [esp], 0x615f2738
call fcn.6152b7e0
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0xe1b0562a
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efca0]
test al, al
je 0x6152e554
mov ecx, 0x615f2744
call fcn.6153f0a0
mov dword [esp], 0x615f2744
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152ce23
call edi
mov eax, dword [ebp - 0xaf4]
mov ebx, dword [sym.imp.msvcrt.dll__wremove]
mov dword [esp], eax
call ebx
vmovq xmm0, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm0
movzx eax, byte [0x615efca8]
test al, al
je 0x6152e500
mov ecx, 0x615f2750
call fcn.6153f0a0
mov dword [esp], 0x615f2750
call fcn.6152b7e0
vmovq xmm1, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm1
movzx eax, byte [0x615efcb0]
test al, al
je 0x6152e4ac
mov ecx, 0x615f275c
call fcn.6153f0a0
mov dword [esp], 0x615f275c
call fcn.6152b7e0
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm2
movzx eax, byte [0x615efcb8]
test al, al
je 0x6152e458
mov ecx, 0x615f2768
call fcn.6153f0a0
mov dword [esp], 0x615f2768
call fcn.6152b7e0
vmovq xmm3, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0xf5c05e2e
vmovq qword [ebp - 0xa58], xmm3
movzx eax, byte [0x615efcc0]
test al, al
je 0x6152e404
mov ecx, 0x615f2774
call fcn.6153f0a0
mov dword [esp], 0x615f2774
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152cf34
call edi
mov eax, dword [ebp - 0xadc]
mov dword [esp], eax
call ebx
vmovq xmm4, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm4
movzx eax, byte [0x615efcc8]
test al, al
je 0x6152e3b0
mov ecx, 0x615f2780
call fcn.6153f0a0
mov dword [esp], 0x615f2780
call fcn.6152b7e0
vmovq xmm5, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm5
movzx eax, byte [0x615efcd8]
test al, al
je 0x6152e35c
mov ecx, 0x615f2798
call fcn.6153f0a0
mov dword [esp], 0x615f2798
call fcn.6152b7e0
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efce0]
test al, al
je 0x6152e308
mov ecx, 0x615f27a4
call fcn.6153f0a0
mov dword [esp], 0x615f27a4
call fcn.6152b7e0
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0x9d06632
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efce8]
test al, al
je 0x6152e2b4
mov ecx, 0x615f27b0
call fcn.6153f0a0
mov dword [esp], 0x615f27b0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152d03f
call edi
mov eax, dword [ebp - 0xac4]
mov dword [esp], eax
call ebx
vmovq xmm0, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm0
movzx eax, byte [0x615efcf0]
test al, al
je 0x6152e260
mov ecx, 0x615f27bc
call fcn.6153f0a0
mov dword [esp], 0x615f27bc
call fcn.6152b7e0
vmovq xmm1, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm1
movzx eax, byte [0x615efcf8]
test al, al
je 0x6152e20c
mov ecx, 0x615f27c8
call fcn.6153f0a0
mov dword [esp], 0x615f27c8
call fcn.6152b7e0
call fcn.615de810
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0x1de06e36
vmovq qword [ebp - 0xa58], xmm2
movzx eax, byte [0x615efd08]
test al, al
je 0x6152e1b8
mov ecx, 0x615f27e0
call fcn.6153f0a0
mov dword [esp], 0x615f27e0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152d124
call edi
mov eax, dword [0x615ef3c4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.615d5600
mov edx, 0x615ef3c0
mov eax, esi
call fcn.6153c8d0
mov ecx, esi
call fcn.615c9890
mov byte [ebp - 0xa50], 0x5b
vmovq xmm3, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm3
movzx eax, byte [0x615efd10]
test al, al
je 0x6152e164
mov ecx, 0x615f27ec
call fcn.6153f0a0
mov dword [esp], 0x615f27ec
call fcn.6152b7e0
vmovq xmm4, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm4
movzx eax, byte [0x615efd20]
test al, al
je 0x6152e110
mov ecx, 0x615f2804
call fcn.6153f0a0
mov dword [esp], 0x615f2804
call fcn.6152b7e0
vmovq xmm5, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm5
movzx eax, byte [0x615efd28]
test al, al
je 0x6152e0bc
mov ecx, 0x615f2810
call fcn.6153f0a0
mov dword [esp], 0x615f2810
call fcn.6152b7e0
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0x31f0763a
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efd30]
test al, al
je 0x6152e068
mov ecx, 0x615f281c
call fcn.6153f0a0
mov dword [esp], 0x615f281c
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152d248
call edi
mov eax, dword [ebp - 0xaf0]
mov ecx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xaf4]
mov dword [esp], eax
call fcn.615a0280
mov eax, dword [ebp - 0xb20]
sub esp, 8
mov ecx, edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb24]
mov dword [esp], eax
call fcn.615a0280
sub esp, 8
xor ebx, ebx
mov word [esp + 8], bx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.615a30d0
mov ecx, edi
call fcn.615a0370
mov ecx, esi
call fcn.615a0370
mov byte [ebp - 0xa50], 0x5b
vmovq xmm7, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efd38]
test al, al
je 0x6152e014
mov ecx, 0x615f2828
call fcn.6153f0a0
mov dword [esp], 0x615f2828
call fcn.6152b7e0
vmovq xmm0, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm0
movzx eax, byte [0x615efd40]
test al, al
je 0x6152dfc0
mov ecx, 0x615f2834
call fcn.6153f0a0
mov dword [esp], 0x615f2834
call fcn.6152b7e0
vmovq xmm1, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm1
movzx eax, byte [0x615efd48]
test al, al
je 0x6152df6c
mov ecx, 0x615f2840
call fcn.6153f0a0
mov dword [esp], 0x615f2840
call fcn.6152b7e0
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0x45007e3e
vmovq qword [ebp - 0xa58], xmm2
movzx eax, byte [0x615efd50]
test al, al
je 0x6152df18
mov ecx, 0x615f284c
call fcn.6153f0a0
mov dword [esp], 0x615f284c
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152d3a3
call edi
mov eax, dword [ebp - 0xad8]
mov ecx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xadc]
mov dword [esp], eax
call fcn.615a0280
mov eax, dword [ebp - 0xb38]
sub esp, 8
mov ecx, edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb3c]
mov dword [esp], eax
call fcn.615a0280
sub esp, 8
xor ecx, ecx
mov word [esp + 8], cx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.615a30d0
mov ecx, edi
call fcn.615a0370
mov ecx, esi
call fcn.615a0370
mov byte [ebp - 0xa50], 0x5b
vmovq xmm3, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm3
movzx eax, byte [0x615efd58]
test al, al
je 0x6152dec4
mov ecx, 0x615f2858
call fcn.6153f0a0
mov dword [esp], 0x615f2858
call fcn.6152b7e0
call fcn.615de890
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm4, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm4
movzx eax, byte [0x615efd70]
test al, al
je 0x6152de70
mov ecx, 0x615f287c
call fcn.6153f0a0
mov dword [esp], 0x615f287c
call fcn.6152b7e0
vmovq xmm5, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0x59108642
vmovq qword [ebp - 0xa58], xmm5
movzx eax, byte [0x615efd78]
test al, al
je 0x6152de1c
mov ecx, 0x615f2888
call fcn.6153f0a0
mov dword [esp], 0x615f2888
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152d4d8
call edi
mov eax, dword [ebp - 0xac0]
mov ecx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xac4]
mov dword [esp], eax
call fcn.615a0280
mov eax, dword [ebp - 0xb08]
sub esp, 8
mov ecx, edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0c]
mov dword [esp], eax
call fcn.615a0280
sub esp, 8
xor edx, edx
mov word [esp + 8], dx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.615a30d0
mov ecx, edi
call fcn.615a0370
mov ecx, esi
call fcn.615a0370
mov byte [ebp - 0xa50], 0x5b
vmovq xmm6, qword [0x615f4408]
vmovq qword [ebp - 0xa58], xmm6
movzx eax, byte [0x615efd80]
test al, al
je 0x6152ddc8
mov ecx, 0x615f2894
call fcn.6153f0a0
mov dword [esp], 0x615f2894
call fcn.6152b7e0
call fcn.615de910
mov ebx, eax
mov ecx, eax
call fcn.6153f0a0
mov dword [esp], ebx
call fcn.6152b7e0
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
vmovq qword [ebp - 0xa58], xmm7
movzx eax, byte [0x615efd90]
test al, al
je 0x6152dd74
mov ecx, 0x615f28ac
call fcn.6153f0a0
mov dword [esp], 0x615f28ac
call fcn.6152b7e0
vmovq xmm0, qword [0x615f4408]
mov byte [ebp - 0xa50], 0x5b
mov dword [ebp - 0xa78], 0x6d208e46
vmovq qword [ebp - 0xa58], xmm0
movzx eax, byte [0x615efd98]
test al, al
je 0x6152dd20
mov ecx, 0x615f28b8
call fcn.6153f0a0
mov dword [esp], 0x615f28b8
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6152d60d
call edi
mov eax, 0x35193a23
mov edx, 0x3b3a2123
vmovdqa ymm0, ymmword [0x615f4540]
mov dword [ebp - 0xa30], 0x2d050a3b
mov dword [ebp - 0xa38], eax
mov eax, 0x37
mov dword [ebp - 0xa34], edx
mov word [ebp - 0xa2c], ax
vmovdqa ymmword [ebp - 0xa58], ymm0
vzeroupper
call sub.msvcrt.dll_rand
movzx ebx, byte [ebp - 0xa37]
movzx edx, byte [ebp - 0xa36]
movzx eax, byte [ebp - 0xa38]
movzx ecx, byte [ebp - 0xa34]
vmovdqa ymm0, ymmword [0x615f4560]
xor ebx, 0x4e
xor edx, 0x4f
vpxor ymm0, ymm0, ymmword [ebp - 0xa58]
mov byte [ebp - 0xb50], bl
movzx ebx, byte [ebp - 0xa32]
xor eax, 0x4d
xor ecx, 0x51
mov byte [ebp - 0xb54], dl
movzx edx, byte [ebp - 0xa35]
xor ebx, 0x53
mov byte [ebp - 0xb4c], al
movzx eax, byte [ebp - 0xa33]
xor edx, 0x50
mov byte [ebp - 0xb56], bl
movzx ebx, byte [ebp - 0xb54]
movzx edx, dl
xor eax, 0x52
mov byte [ebp - 0xb55], cl
shl edx, 8
movzx ecx, al
movzx eax, byte [ebp - 0xa31]
xor dword [ebp - 0xa30], 0x58575655
or edx, ebx
movzx ebx, byte [ebp - 0xb50]
vmovdqa ymmword [ebp - 0xa58], ymm0
shl edx, 8
xor eax, 0x54
or edx, ebx
movzx ebx, byte [ebp - 0xb4c]
movzx eax, al
shl eax, 8
shl edx, 8
mov dword [ebp - 0xb4c], ebx
movzx ebx, byte [ebp - 0xb56]
or eax, ebx
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0xb55]
shl eax, 8
mov dword [ebp - 0xb54], eax
mov eax, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], ecx
or eax, edx
mov edx, dword [ebp - 0xb54]
mov ecx, eax
mov eax, dword [ebp - 0xb50]
mov dword [ebp - 0xa38], ecx
lea ecx, [ebp - 0xaac]
or eax, edx
mov dword [ebp - 0xa34], eax
xor byte [ebp - 0xa2c], 0x59
mov dword [esp], esi
vzeroupper
call fcn.615ccf00
sub esp, 4
lea eax, [ebp - 0xaac]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.61538b10
lea eax, [ebp - 0xb40]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x20006
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xa78]
mov dword [esp], 0x80000001
mov dword [esp + 4], eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
sub esp, 0x24
mov ecx, edi
call fcn.615cdbd0
lea ecx, [ebp - 0xaac]
call fcn.615c9890
mov dword [esp + 0x14], 0x104
mov eax, dword [ebp - 0xadc]
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb40]
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sub esp, 0x18
lea eax, [ebp - 0xaf4]
mov dword [esp + 8], 0x4d
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.61533cf0
mov ecx, esi
call fcn.615cdbd0
lea ecx, [ebp - 0xac4]
call fcn.615cdbd0
lea ecx, [ebp - 0xadc]
call fcn.615cdbd0
lea ecx, [ebp - 0xaf4]
call fcn.615cdbd0
lea ecx, [ebp - 0xb0c]
call fcn.615cdbd0
lea ecx, [ebp - 0xb24]
call fcn.615cdbd0
lea ecx, [ebp - 0xb3c]
call fcn.615cdbd0
lea ecx, [ebp - 0xa94]
call fcn.615a0370
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov dword [esp], 0x615efbd0
call fcn.615dfad0
test eax, eax
je 0x6152c319
mov eax, dword [ebp - 0xa20]
mov edx, dword [ebp - 0xa1c]
mov dword [0x615f260c], eax
movzx eax, byte [ebp - 0xa18]
mov dword [0x615f2610], edx
mov byte [0x615f2614], al
mov dword [esp], 0x615e2150
call fcn.615013c0
mov dword [esp], 0x615efbd0
call fcn.615dfba0
jmp 0x6152c319
mov dword [esp], 0x615efbc8
call fcn.615dfad0
test eax, eax
je 0x6152c2d3
mov eax, dword [ebp - 0xa20]
mov edx, dword [ebp - 0xa1c]
mov dword [0x615f2600], eax
movzx eax, byte [ebp - 0xa18]
mov dword [0x615f2604], edx
mov byte [0x615f2608], al
mov dword [esp], 0x615e2140
call fcn.615013c0
mov dword [esp], 0x615efbc8
call fcn.615dfba0
jmp 0x6152c2d3
mov dword [esp], 0x615efbb8
call fcn.615dfad0
test eax, eax
je 0x6152c069
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f25e8], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f25ec], edx
mov byte [0x615f25f0], al
mov dword [esp], 0x615e20a0
call fcn.615013c0
mov dword [esp], 0x615efbb8
call fcn.615dfba0
jmp 0x6152c069
mov dword [esp], 0x615efdb0
call fcn.615dfad0
test eax, eax
je 0x6152c02d
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f28dc], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f28e0], edx
mov byte [0x615f28e4], al
mov dword [esp], 0x615e2090
call fcn.615013c0
mov dword [esp], 0x615efdb0
call fcn.615dfba0
jmp 0x6152c02d
mov dword [esp], 0x615efbc0
call fcn.615dfad0
test eax, eax
je 0x6152c297
mov eax, dword [ebp - 0xa20]
mov edx, dword [ebp - 0xa1c]
mov dword [0x615f25f4], eax
movzx eax, byte [ebp - 0xa18]
mov dword [0x615f25f8], edx
mov byte [0x615f25fc], al
mov dword [esp], 0x615e2130
call fcn.615013c0
mov dword [esp], 0x615efbc0
call fcn.615dfba0
jmp 0x6152c297
mov dword [esp], 0x615efda8
call fcn.615dfad0
test eax, eax
je 0x6152c25b
mov eax, dword [ebp - 0xa20]
mov edx, dword [ebp - 0xa1c]
mov dword [0x615f28d0], eax
movzx eax, byte [ebp - 0xa18]
mov dword [0x615f28d4], edx
mov byte [0x615f28d8], al
mov dword [esp], 0x615e2120
call fcn.615013c0
mov dword [esp], 0x615efda8
call fcn.615dfba0
jmp 0x6152c25b
mov dword [esp], 0x615efda0
call fcn.615dfad0
test eax, eax
je 0x6152c1f1
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f28c4], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f28c8], edx
mov byte [0x615f28cc], al
mov dword [esp], 0x615e2110
call fcn.615013c0
mov dword [esp], 0x615efda0
call fcn.615dfba0
jmp 0x6152c1f1
mov dword [esp], 0x615efd60
call fcn.615dfad0
test eax, eax
je 0x6152c1ab
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f2864], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f2868], edx
mov byte [0x615f286c], al
mov dword [esp], 0x615e2100
call fcn.615013c0
mov dword [esp], 0x615efd60
call fcn.615dfba0
jmp 0x6152c1ab
mov dword [esp], 0x615efd18
call fcn.615dfad0
test eax, eax
je 0x6152c16f
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f27f8], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f27fc], edx
mov byte [0x615f2800], al
mov dword [esp], 0x615e20f0
call fcn.615013c0
mov dword [esp], 0x615efd18
call fcn.615dfba0
jmp 0x6152c16f
mov dword [esp], 0x615efcd0
call fcn.615dfad0
test eax, eax
je 0x6152c133
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f278c], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f2790], edx
mov byte [0x615f2794], al
mov dword [esp], 0x615e20d0
call fcn.615013c0
mov dword [esp], 0x615efcd0
call fcn.615dfba0
jmp 0x6152c133
mov dword [esp], 0x615efc48
call fcn.615dfad0
test eax, eax
je 0x6152c0eb
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f26c0], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f26c4], edx
mov byte [0x615f26c8], al
mov dword [esp], 0x615e20c0
call fcn.615013c0
mov dword [esp], 0x615efc48
call fcn.615dfba0
jmp 0x6152c0eb
mov dword [esp], 0x615efc00
call fcn.615dfad0
test eax, eax
je 0x6152c0a5
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
mov dword [0x615f2654], eax
movzx eax, byte [ebp - 0x810]
mov dword [0x615f2658], edx
mov byte [0x615f265c], al
mov dword [esp], 0x615e20b0
call fcn.615013c0
mov dword [esp], 0x615efc00
call fcn.615dfba0
jmp 0x6152c0a5
mov dword [esp], 0x615efbd8
call fcn.615dfad0
test eax, eax
je 0x6152c678
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2618], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f261c], edx
mov byte [0x615f2620], al
mov dword [esp], 0x615e2160
call fcn.615013c0
mov dword [esp], 0x615efbd8
call fcn.615dfba0
jmp 0x6152c678
mov dword [esp], 0x615efd98
call fcn.615dfad0
test eax, eax
je 0x6152d5f1
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f28b8], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f28bc], edx
mov byte [0x615f28c0], al
mov dword [esp], 0x615e24f0
call fcn.615013c0
mov dword [esp], 0x615efd98
call fcn.615dfba0
jmp 0x6152d5f1
mov dword [esp], 0x615efd90
call fcn.615dfad0
test eax, eax
je 0x6152d5ab
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f28ac], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f28b0], edx
mov byte [0x615f28b4], al
mov dword [esp], 0x615e24e0
call fcn.615013c0
mov dword [esp], 0x615efd90
call fcn.615dfba0
jmp 0x6152d5ab
mov dword [esp], 0x615efd80
call fcn.615dfad0
test eax, eax
je 0x6152d559
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2894], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2898], edx
mov byte [0x615f289c], al
mov dword [esp], 0x615e24c0
call fcn.615013c0
mov dword [esp], 0x615efd80
call fcn.615dfba0
jmp 0x6152d559
mov dword [esp], 0x615efd78
call fcn.615dfad0
test eax, eax
je 0x6152d4bc
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2888], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f288c], edx
mov byte [0x615f2890], al
mov dword [esp], 0x615e24b0
call fcn.615013c0
mov dword [esp], 0x615efd78
call fcn.615dfba0
jmp 0x6152d4bc
mov dword [esp], 0x615efd70
call fcn.615dfad0
test eax, eax
je 0x6152d476
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f287c], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2880], edx
mov byte [0x615f2884], al
mov dword [esp], 0x615e24a0
call fcn.615013c0
mov dword [esp], 0x615efd70
call fcn.615dfba0
jmp 0x6152d476
mov dword [esp], 0x615efd58
call fcn.615dfad0
test eax, eax
je 0x6152d424
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2858], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f285c], edx
mov byte [0x615f2860], al
mov dword [esp], 0x615e2480
call fcn.615013c0
mov dword [esp], 0x615efd58
call fcn.615dfba0
jmp 0x6152d424
mov dword [esp], 0x615efd50
call fcn.615dfad0
test eax, eax
je 0x6152d387
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f284c], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2850], edx
mov byte [0x615f2854], al
mov dword [esp], 0x615e2470
call fcn.615013c0
mov dword [esp], 0x615efd50
call fcn.615dfba0
jmp 0x6152d387
mov dword [esp], 0x615efd48
call fcn.615dfad0
test eax, eax
je 0x6152d341
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2840], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2844], edx
mov byte [0x615f2848], al
mov dword [esp], 0x615e2460
call fcn.615013c0
mov dword [esp], 0x615efd48
call fcn.615dfba0
jmp 0x6152d341
mov dword [esp], 0x615efd40
call fcn.615dfad0
test eax, eax
je 0x6152d305
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2834], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2838], edx
mov byte [0x615f283c], al
mov dword [esp], 0x615e2450
call fcn.615013c0
mov dword [esp], 0x615efd40
call fcn.615dfba0
jmp 0x6152d305
mov dword [esp], 0x615efd38
call fcn.615dfad0
test eax, eax
je 0x6152d2c9
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2828], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f282c], edx
mov byte [0x615f2830], al
mov dword [esp], 0x615e2430
call fcn.615013c0
mov dword [esp], 0x615efd38
call fcn.615dfba0
jmp 0x6152d2c9
mov dword [esp], 0x615efd30
call fcn.615dfad0
test eax, eax
je 0x6152d22c
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f281c], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2820], edx
mov byte [0x615f2824], al
mov dword [esp], 0x615e2420
call fcn.615013c0
mov dword [esp], 0x615efd30
call fcn.615dfba0
jmp 0x6152d22c
mov dword [esp], 0x615efd28
call fcn.615dfad0
test eax, eax
je 0x6152d1e6
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2810], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2814], edx
mov byte [0x615f2818], al
mov dword [esp], 0x615e2410
call fcn.615013c0
mov dword [esp], 0x615efd28
call fcn.615dfba0
jmp 0x6152d1e6
mov dword [esp], 0x615efd20
call fcn.615dfad0
test eax, eax
je 0x6152d1aa
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2804], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2808], edx
mov byte [0x615f280c], al
mov dword [esp], 0x615e2400
call fcn.615013c0
mov dword [esp], 0x615efd20
call fcn.615dfba0
jmp 0x6152d1aa
mov dword [esp], 0x615efd10
call fcn.615dfad0
test eax, eax
je 0x6152d16e
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f27ec], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f27f0], edx
mov byte [0x615f27f4], al
mov dword [esp], 0x615e23f0
call fcn.615013c0
mov dword [esp], 0x615efd10
call fcn.615dfba0
jmp 0x6152d16e
mov dword [esp], 0x615efd08
call fcn.615dfad0
test eax, eax
je 0x6152d108
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f27e0], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f27e4], edx
mov byte [0x615f27e8], al
mov dword [esp], 0x615e23e0
call fcn.615013c0
mov dword [esp], 0x615efd08
call fcn.615dfba0
jmp 0x6152d108
mov dword [esp], 0x615efcf8
call fcn.615dfad0
test eax, eax
je 0x6152d0ac
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f27c8], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f27cc], edx
mov byte [0x615f27d0], al
mov dword [esp], 0x615e23c0
call fcn.615013c0
mov dword [esp], 0x615efcf8
call fcn.615dfba0
jmp 0x6152d0ac
mov dword [esp], 0x615efcf0
call fcn.615dfad0
test eax, eax
je 0x6152d070
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f27bc], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f27c0], edx
mov byte [0x615f27c4], al
mov dword [esp], 0x615e23a0
call fcn.615013c0
mov dword [esp], 0x615efcf0
call fcn.615dfba0
jmp 0x6152d070
mov dword [esp], 0x615efce8
call fcn.615dfad0
test eax, eax
je 0x6152d023
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f27b0], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f27b4], edx
mov byte [0x615f27b8], al
mov dword [esp], 0x615e2390
call fcn.615013c0
mov dword [esp], 0x615efce8
call fcn.615dfba0
jmp 0x6152d023
mov dword [esp], 0x615efce0
call fcn.615dfad0
test eax, eax
je 0x6152cfdd
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f27a4], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f27a8], edx
mov byte [0x615f27ac], al
mov dword [esp], 0x615e2380
call fcn.615013c0
mov dword [esp], 0x615efce0
call fcn.615dfba0
jmp 0x6152cfdd
mov dword [esp], 0x615efcd8
call fcn.615dfad0
test eax, eax
je 0x6152cfa1
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2798], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f279c], edx
mov byte [0x615f27a0], al
mov dword [esp], 0x615e2370
call fcn.615013c0
mov dword [esp], 0x615efcd8
call fcn.615dfba0
jmp 0x6152cfa1
mov dword [esp], 0x615efcc8
call fcn.615dfad0
test eax, eax
je 0x6152cf65
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2780], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2784], edx
mov byte [0x615f2788], al
mov dword [esp], 0x615e2360
call fcn.615013c0
mov dword [esp], 0x615efcc8
call fcn.615dfba0
jmp 0x6152cf65
mov dword [esp], 0x615efcc0
call fcn.615dfad0
test eax, eax
je 0x6152cf18
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2774], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2778], edx
mov byte [0x615f277c], al
mov dword [esp], 0x615e2350
call fcn.615013c0
mov dword [esp], 0x615efcc0
call fcn.615dfba0
jmp 0x6152cf18
mov dword [esp], 0x615efcb8
call fcn.615dfad0
test eax, eax
je 0x6152ced2
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2768], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f276c], edx
mov byte [0x615f2770], al
mov dword [esp], 0x615e2340
call fcn.615013c0
mov dword [esp], 0x615efcb8
call fcn.615dfba0
jmp 0x6152ced2
mov dword [esp], 0x615efcb0
call fcn.615dfad0
test eax, eax
je 0x6152ce96
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f275c], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2760], edx
mov byte [0x615f2764], al
mov dword [esp], 0x615e2330
call fcn.615013c0
mov dword [esp], 0x615efcb0
call fcn.615dfba0
jmp 0x6152ce96
mov dword [esp], 0x615efca8
call fcn.615dfad0
test eax, eax
je 0x6152ce5a
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2750], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2754], edx
mov byte [0x615f2758], al
mov dword [esp], 0x615e2300
call fcn.615013c0
mov dword [esp], 0x615efca8
call fcn.615dfba0
jmp 0x6152ce5a
mov dword [esp], 0x615efca0
call fcn.615dfad0
test eax, eax
je 0x6152ce07
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2744], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2748], edx
mov byte [0x615f274c], al
mov dword [esp], 0x615e22f0
call fcn.615013c0
mov dword [esp], 0x615efca0
call fcn.615dfba0
jmp 0x6152ce07
mov dword [esp], 0x615efc98
call fcn.615dfad0
test eax, eax
je 0x6152cdc1
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2738], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f273c], edx
mov byte [0x615f2740], al
mov dword [esp], 0x615e22e0
call fcn.615013c0
mov dword [esp], 0x615efc98
call fcn.615dfba0
jmp 0x6152cdc1
mov dword [esp], 0x615efc88
call fcn.615dfad0
test eax, eax
je 0x6152cd6f
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2720], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2724], edx
mov byte [0x615f2728], al
mov dword [esp], 0x615e22c0
call fcn.615013c0
mov dword [esp], 0x615efc88
call fcn.615dfba0
jmp 0x6152cd6f
mov dword [esp], 0x615efc80
call fcn.615dfad0
test eax, eax
je 0x6152ccbc
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2714], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2718], edx
mov byte [0x615f271c], al
mov dword [esp], 0x615e22b0
call fcn.615013c0
mov dword [esp], 0x615efc80
call fcn.615dfba0
jmp 0x6152ccbc
mov dword [esp], 0x615efc70
call fcn.615dfad0
test eax, eax
je 0x6152cc60
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f26fc], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2700], edx
mov byte [0x615f2704], al
mov dword [esp], 0x615e2290
call fcn.615013c0
mov dword [esp], 0x615efc70
call fcn.615dfba0
jmp 0x6152cc60
mov dword [esp], 0x615efc68
call fcn.615dfad0
test eax, eax
je 0x6152cc24
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f26f0], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f26f4], edx
mov byte [0x615f26f8], al
mov dword [esp], 0x615e2270
call fcn.615013c0
mov dword [esp], 0x615efc68
call fcn.615dfba0
jmp 0x6152cc24
mov dword [esp], 0x615efc60
call fcn.615dfad0
test eax, eax
je 0x6152cb71
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f26e4], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f26e8], edx
mov byte [0x615f26ec], al
mov dword [esp], 0x615e2260
call fcn.615013c0
mov dword [esp], 0x615efc60
call fcn.615dfba0
jmp 0x6152cb71
mov dword [esp], 0x615efc40
call fcn.615dfad0
test eax, eax
je 0x6152caff
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f26b4], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f26b8], edx
mov byte [0x615f26bc], al
mov dword [esp], 0x615e2230
call fcn.615013c0
mov dword [esp], 0x615efc40
call fcn.615dfba0
jmp 0x6152caff
mov dword [esp], 0x615efc38
call fcn.615dfad0
test eax, eax
je 0x6152ca12
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f26a8], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f26ac], edx
mov byte [0x615f26b0], al
mov dword [esp], 0x615e2220
call fcn.615013c0
mov dword [esp], 0x615efc38
call fcn.615dfba0
jmp 0x6152ca12
mov dword [esp], 0x615efc30
call fcn.615dfad0
test eax, eax
je 0x6152c9cc
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f269c], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f26a0], edx
mov byte [0x615f26a4], al
mov dword [esp], 0x615e2210
call fcn.615013c0
mov dword [esp], 0x615efc30
call fcn.615dfba0
jmp 0x6152c9cc
mov dword [esp], 0x615efc28
call fcn.615dfad0
test eax, eax
je 0x6152c990
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2690], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2694], edx
mov byte [0x615f2698], al
mov dword [esp], 0x615e2200
call fcn.615013c0
mov dword [esp], 0x615efc28
call fcn.615dfba0
jmp 0x6152c990
mov dword [esp], 0x615efc08
call fcn.615dfad0
test eax, eax
je 0x6152c8d5
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2660], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2664], edx
mov byte [0x615f2668], al
mov dword [esp], 0x615e21c0
call fcn.615013c0
mov dword [esp], 0x615efc08
call fcn.615dfba0
jmp 0x6152c8d5
mov dword [esp], 0x615efbf0
call fcn.615dfad0
test eax, eax
je 0x6152c736
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f263c], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2640], edx
mov byte [0x615f2644], al
mov dword [esp], 0x615e21a0
call fcn.615013c0
mov dword [esp], 0x615efbf0
call fcn.615dfba0
jmp 0x6152c736
mov dword [esp], 0x615efbe8
call fcn.615dfad0
test eax, eax
je 0x6152c6f0
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2630], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2634], edx
mov byte [0x615f2638], al
mov dword [esp], 0x615e2190
call fcn.615013c0
mov dword [esp], 0x615efbe8
call fcn.615dfba0
jmp 0x6152c6f0
mov dword [esp], 0x615efbe0
call fcn.615dfad0
test eax, eax
je 0x6152c6b4
mov eax, dword [ebp - 0xa58]
mov edx, dword [ebp - 0xa54]
mov dword [0x615f2624], eax
movzx eax, byte [ebp - 0xa50]
mov dword [0x615f2628], edx
mov byte [0x615f262c], al
mov dword [esp], 0x615e2180
call fcn.615013c0
mov dword [esp], 0x615efbe0
call fcn.615dfba0
jmp 0x6152c6b4