Function at 0x6153404a
Capabilities:
Encode data using xor
Parse pe header
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, 0x58
mov byte [ebp - 0x20], 0x5b
mov ebx, dword [ecx]
vmovq xmm0, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f0490]
test al, al
je 0x615353c0
vmovq xmm1, qword [0x615f4408]
mov byte [0x615f34a8], 0x5b
vmovq qword [0x615f34a0], xmm1
mov dword [esp], 0x615f34a0
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm2, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f0298]
test al, al
je 0x61535370
vmovq xmm3, qword [0x615f4408]
mov byte [0x615f3160], 0x5b
vmovq qword [0x615f3158], xmm3
mov dword [esp], 0x615f3158
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f02e0]
test al, al
je 0x61535320
vmovq xmm5, qword [0x615f4408]
mov byte [0x615f31f0], 0x5b
vmovq qword [0x615f31e8], xmm5
mov dword [esp], 0x615f31e8
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0xf5c05e2e
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0328]
test al, al
je 0x615352d0
vmovq xmm7, qword [0x615f4408]
mov byte [0x615f3270], 0x5b
vmovq qword [0x615f3268], xmm7
mov dword [esp], 0x615f3268
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534172
lea eax, [ebp - 0x2c]
call eax
vmovq xmm0, qword [0x615f4408]
mov edi, dword [ebx + 0x3c]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f03b0]
add edi, ebx
test al, al
je 0x61535280
vmovq xmm1, qword [0x615f4408]
mov byte [0x615f3340], 0x5b
vmovq qword [0x615f3338], xmm1
mov dword [esp], 0x615f3338
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm2, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f03f8]
test al, al
je 0x61535230
vmovq xmm3, qword [0x615f4408]
mov byte [0x615f33b0], 0x5b
vmovq qword [0x615f33a8], xmm3
mov dword [esp], 0x615f33a8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f0440]
test al, al
je 0x615351e0
vmovq xmm5, qword [0x615f4408]
mov byte [0x615f3420], 0x5b
vmovq qword [0x615f3418], xmm5
mov dword [esp], 0x615f3418
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x9d06632
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0480]
test al, al
je 0x61535190
vmovq xmm7, qword [0x615f4408]
mov byte [0x615f3488], 0x5b
vmovq qword [0x615f3480], xmm7
mov dword [esp], 0x615f3480
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534293
lea eax, [ebp - 0x2c]
call eax
vmovq xmm0, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f0488]
test al, al
je 0x61535140
vmovq xmm1, qword [0x615f4408]
mov byte [0x615f3498], 0x5b
vmovq qword [0x615f3490], xmm1
mov dword [esp], 0x615f3490
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm2, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f02a0]
test al, al
je 0x615350f0
vmovq xmm3, qword [0x615f4408]
mov byte [0x615f3170], 0x5b
vmovq qword [0x615f3168], xmm3
mov dword [esp], 0x615f3168
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f02a8]
test al, al
je 0x615350a0
vmovq xmm5, qword [0x615f4408]
mov byte [0x615f3180], 0x5b
vmovq qword [0x615f3178], xmm5
mov dword [esp], 0x615f3178
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x1de06e36
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f02b0]
test al, al
je 0x61535050
vmovq xmm7, qword [0x615f4408]
mov byte [0x615f3190], 0x5b
vmovq qword [0x615f3188], xmm7
mov dword [esp], 0x615f3188
call sub.msvcrt.dll_getenv
test eax, eax
je 0x615343af
lea eax, [ebp - 0x2c]
call eax
vmovq xmm0, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f02b8]
test al, al
je 0x61535000
vmovq xmm1, qword [0x615f4408]
mov byte [0x615f31a0], 0x5b
vmovq qword [0x615f3198], xmm1
mov dword [esp], 0x615f3198
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm2, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f02c0]
test al, al
je 0x61534fb0
vmovq xmm3, qword [0x615f4408]
mov byte [0x615f31b0], 0x5b
vmovq qword [0x615f31a8], xmm3
mov dword [esp], 0x615f31a8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f02c8]
test al, al
je 0x61534f60
vmovq xmm5, qword [0x615f4408]
mov byte [0x615f31c0], 0x5b
vmovq qword [0x615f31b8], xmm5
mov dword [esp], 0x615f31b8
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x31f0763a
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f02d0]
test al, al
je 0x61534f10
vmovq xmm7, qword [0x615f4408]
mov byte [0x615f31d0], 0x5b
vmovq qword [0x615f31c8], xmm7
mov dword [esp], 0x615f31c8
call sub.msvcrt.dll_getenv
test eax, eax
je 0x615344cb
lea eax, [ebp - 0x2c]
call eax
cmp dword [edi], 0x4550
jne 0x615344de
cmp word [ebx], 0x5a4d
je 0x61534600
vmovq xmm0, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f02d8]
test al, al
je 0x61535500
mov ecx, 0x615f31d8
call fcn.6153f0a0
mov dword [esp], 0x615f31d8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm1, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm1
movzx eax, byte [0x615f02e8]
test al, al
je 0x615354b0
vmovq xmm2, qword [0x615f4408]
mov byte [0x615f3200], 0x5b
vmovq qword [0x615f31f8], xmm2
mov dword [esp], 0x615f31f8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm3, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm3
movzx eax, byte [0x615f02f0]
test al, al
je 0x61535460
vmovq xmm4, qword [0x615f4408]
mov byte [0x615f3210], 0x5b
vmovq qword [0x615f3208], xmm4
mov dword [esp], 0x615f3208
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x45007e3e
vmovq xmm5, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm5
movzx eax, byte [0x615f02f8]
test al, al
je 0x61535410
vmovq xmm6, qword [0x615f4408]
mov byte [0x615f3220], 0x5b
vmovq qword [0x615f3218], xmm6
mov dword [esp], 0x615f3218
call sub.msvcrt.dll_getenv
test eax, eax
je 0x615345ed
lea eax, [ebp - 0x2c]
call eax
lea esp, [ebp - 0x10]
xor eax, eax
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm7
movzx eax, byte [0x615f0300]
test al, al
je 0x615357aa
mov ecx, 0x615f3228
call fcn.6153f0a0
mov dword [esp], 0x615f3228
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm0, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f0308]
test al, al
je 0x6153575f
mov ecx, 0x615f3234
call fcn.6153f0a0
mov dword [esp], 0x615f3234
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm1, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm1
movzx eax, byte [0x615f0310]
test al, al
je 0x61535714
mov ecx, 0x615f3240
call fcn.6153f0a0
mov dword [esp], 0x615f3240
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x59108642
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f0318]
test al, al
je 0x615356c9
mov ecx, 0x615f324c
call fcn.6153f0a0
mov dword [esp], 0x615f324c
call sub.msvcrt.dll_getenv
test eax, eax
je 0x615346e8
lea eax, [ebp - 0x2c]
call eax
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x3000
mov eax, dword [edi + 0x50]
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov byte [ebp - 0x20], 0x5b
vmovq xmm3, qword [0x615f4408]
mov dword [ebp - 0x3c], eax
sub esp, 0x10
vmovq qword [ebp - 0x28], xmm3
movzx eax, byte [0x615f0320]
test al, al
je 0x61535ca5
mov ecx, 0x615f3258
call fcn.6153f0a0
mov dword [esp], 0x615f3258
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f0330]
test al, al
je 0x61535a98
mov ecx, 0x615f3278
call fcn.6153f0a0
mov dword [esp], 0x615f3278
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm5, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm5
movzx eax, byte [0x615f0338]
test al, al
je 0x61535a4d
mov ecx, 0x615f3284
call fcn.6153f0a0
mov dword [esp], 0x615f3284
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x6d208e46
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0340]
test al, al
je 0x61535b2e
mov ecx, 0x615f3290
call fcn.6153f0a0
mov dword [esp], 0x615f3290
call sub.msvcrt.dll_getenv
test eax, eax
je 0x615347fa
lea eax, [ebp - 0x2c]
call eax
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x58], eax
lea esi, [eax - 1]
test eax, eax
jle 0x61534837
cmp esi, 0xe
jbe 0x6153481f
mov ecx, dword [ebp - 0x3c]
lea edx, [ebx + 1]
mov eax, ecx
sub eax, edx
cmp eax, 0x1e
ja 0x61535550
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x3c]
mov ecx, edi
mov esi, ebx
add eax, ebx
mov edi, edx
lea esi, [esi]
movsb byte es:[edi], byte [esi]
cmp esi, eax
jne 0x61534830
mov edi, ecx
vmovq xmm7, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm7
movzx eax, byte [0x615f0348]
test al, al
je 0x61535a02
mov ecx, 0x615f329c
call fcn.6153f0a0
mov dword [esp], 0x615f329c
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm0, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f0350]
test al, al
je 0x615359b7
mov ecx, 0x615f32a8
call fcn.6153f0a0
mov dword [esp], 0x615f32a8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm1, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm1
movzx eax, byte [0x615f0358]
test al, al
je 0x6153596c
mov ecx, 0x615f32b4
call fcn.6153f0a0
mov dword [esp], 0x615f32b4
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x8130964a
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f0360]
test al, al
je 0x61535921
mov ecx, 0x615f32c0
call fcn.6153f0a0
mov dword [esp], 0x615f32c0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6153491f
lea eax, [ebp - 0x2c]
call eax
movzx eax, word [edi + 6]
lea esi, [edi + 0xf8]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call fcn.6152b960
mov byte [ebp - 0x20], 0x5b
vmovq xmm3, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm3
movzx eax, byte [0x615f0368]
test al, al
je 0x61535ae3
mov ecx, 0x615f32cc
call fcn.6153f0a0
mov dword [esp], 0x615f32cc
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f0370]
test al, al
je 0x615358d6
mov ecx, 0x615f32d8
call fcn.6153f0a0
mov dword [esp], 0x615f32d8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm5, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm5
movzx eax, byte [0x615f0378]
test al, al
je 0x6153588b
mov ecx, 0x615f32e4
call fcn.6153f0a0
mov dword [esp], 0x615f32e4
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x95409e4e
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0380]
test al, al
je 0x61535bc4
mov ecx, 0x615f32f0
call fcn.6153f0a0
mov dword [esp], 0x615f32f0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534a28
lea eax, [ebp - 0x2c]
call eax
vmovq xmm7, qword [0x615f4408]
mov ebx, dword [ebp - 0x3c]
mov byte [ebp - 0x20], 0x5b
add ebx, dword [edi + 0x80]
vmovq qword [ebp - 0x28], xmm7
movzx eax, byte [0x615f0388]
test al, al
je 0x61535c5a
mov ecx, 0x615f32fc
call fcn.6153f0a0
mov dword [esp], 0x615f32fc
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm0, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f0390]
test al, al
je 0x61535c0f
mov ecx, 0x615f3308
call fcn.6153f0a0
mov dword [esp], 0x615f3308
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm1, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm1
movzx eax, byte [0x615f0398]
test al, al
je 0x61535840
mov ecx, 0x615f3314
call fcn.6153f0a0
mov dword [esp], 0x615f3314
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0xa950a652
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f03a0]
test al, al
je 0x615357f5
mov ecx, 0x615f3320
call fcn.6153f0a0
mov dword [esp], 0x615f3320
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534b19
lea eax, [ebp - 0x2c]
call eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call fcn.61527260
mov byte [ebp - 0x20], 0x5b
vmovq xmm3, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm3
movzx eax, byte [0x615f03a8]
test al, al
je 0x61535b79
mov ecx, 0x615f332c
call fcn.6153f0a0
mov dword [esp], 0x615f332c
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f03b8]
test al, al
je 0x61535d86
mov ecx, 0x615f3348
call fcn.6153f0a0
mov dword [esp], 0x615f3348
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm5, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm5
movzx eax, byte [0x615f03c0]
test al, al
je 0x61535d3b
mov ecx, 0x615f3354
call fcn.6153f0a0
mov dword [esp], 0x615f3354
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0xbd60ae56
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f03c8]
test al, al
je 0x61535cf0
mov ecx, 0x615f3360
call fcn.6153f0a0
mov dword [esp], 0x615f3360
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534c10
lea eax, [ebp - 0x2c]
call eax
vmovq xmm7, qword [0x615f4408]
mov ebx, dword [ebp - 0x3c]
mov byte [ebp - 0x20], 0x5b
sub ebx, dword [edi + 0x34]
vmovq qword [ebp - 0x28], xmm7
movzx eax, byte [0x615f03d0]
test al, al
je 0x61535eb2
mov ecx, 0x615f336c
call fcn.6153f0a0
mov dword [esp], 0x615f336c
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm0, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f03d8]
test al, al
je 0x61535e67
mov ecx, 0x615f3378
call fcn.6153f0a0
mov dword [esp], 0x615f3378
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm1, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm1
movzx eax, byte [0x615f03e0]
test al, al
je 0x61535e1c
mov ecx, 0x615f3384
call fcn.6153f0a0
mov dword [esp], 0x615f3384
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0xd170b65a
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f03e8]
test al, al
je 0x61535dd1
mov ecx, 0x615f3390
call fcn.6153f0a0
mov dword [esp], 0x615f3390
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534cfe
lea eax, [ebp - 0x2c]
call eax
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x61534d10
test ebx, ebx
jne 0x61536155
vmovq xmm3, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm3
movzx eax, byte [0x615f0438]
test al, al
je 0x61535fde
mov ecx, 0x615f340c
call fcn.6153f0a0
mov dword [esp], 0x615f340c
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm4, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm4
movzx eax, byte [0x615f0448]
test al, al
je 0x61535f93
mov ecx, 0x615f3428
call fcn.6153f0a0
mov dword [esp], 0x615f3428
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm5, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm5
movzx eax, byte [0x615f0450]
test al, al
je 0x6153610a
mov ecx, 0x615f3434
call fcn.6153f0a0
mov dword [esp], 0x615f3434
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0xda0ce66
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0458]
test al, al
je 0x615360bf
mov ecx, 0x615f3440
call fcn.6153f0a0
mov dword [esp], 0x615f3440
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534df8
lea eax, [ebp - 0x2c]
call eax
mov eax, dword [edi + 0x54]
mov dword [esp + 0xc], eax
movzx eax, word [edi + 6]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call fcn.61531050
mov byte [ebp - 0x20], 0x5b
vmovq xmm7, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm7
movzx eax, byte [0x615f0460]
test al, al
je 0x61536074
mov ecx, 0x615f344c
call fcn.6153f0a0
mov dword [esp], 0x615f344c
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm0, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm0
movzx eax, byte [0x615f0468]
test al, al
je 0x61535f48
mov ecx, 0x615f3458
call fcn.6153f0a0
mov dword [esp], 0x615f3458
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm1, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm1
movzx eax, byte [0x615f0470]
test al, al
je 0x61535efd
mov ecx, 0x615f3464
call fcn.6153f0a0
mov dword [esp], 0x615f3464
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0x21b0d66a
vmovq xmm2, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm2
movzx eax, byte [0x615f0478]
test al, al
je 0x61536029
mov ecx, 0x615f3470
call fcn.6153f0a0
mov dword [esp], 0x615f3470
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534efe
lea eax, [ebp - 0x2c]
call eax
mov eax, dword [ebp - 0x3c]
add eax, dword [edi + 0x28]
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov dword [esp], 0x615f02d0
call fcn.615dfad0
test eax, eax
je 0x6153449f
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f31c8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f31cc], edx
mov byte [0x615f31d0], al
mov dword [esp], 0x615e1380
call fcn.615013c0
mov dword [esp], 0x615f02d0
call fcn.615dfba0
jmp 0x6153449f
mov dword [esp], 0x615f02c8
call fcn.615dfad0
test eax, eax
je 0x61534455
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f31b8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f31bc], edx
mov byte [0x615f31c0], al
mov dword [esp], 0x615e1370
call fcn.615013c0
mov dword [esp], 0x615f02c8
call fcn.615dfba0
jmp 0x61534455
mov dword [esp], 0x615f02c0
call fcn.615dfad0
test eax, eax
je 0x61534412
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f31a8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f31ac], edx
mov byte [0x615f31b0], al
mov dword [esp], 0x615e1360
call fcn.615013c0
mov dword [esp], 0x615f02c0
call fcn.615dfba0
jmp 0x61534412
mov dword [esp], 0x615f02b8
call fcn.615dfad0
test eax, eax
je 0x615343cf
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3198], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f319c], edx
mov byte [0x615f31a0], al
mov dword [esp], 0x615e1350
call fcn.615013c0
mov dword [esp], 0x615f02b8
call fcn.615dfba0
jmp 0x615343cf
mov dword [esp], 0x615f02b0
call fcn.615dfad0
test eax, eax
je 0x61534383
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3188], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f318c], edx
mov byte [0x615f3190], al
mov dword [esp], 0x615e1340
call fcn.615013c0
mov dword [esp], 0x615f02b0
call fcn.615dfba0
jmp 0x61534383
mov dword [esp], 0x615f02a8
call fcn.615dfad0
test eax, eax
je 0x61534339
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3178], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f317c], edx
mov byte [0x615f3180], al
mov dword [esp], 0x615e1330
call fcn.615013c0
mov dword [esp], 0x615f02a8
call fcn.615dfba0
jmp 0x61534339
mov dword [esp], 0x615f02a0
call fcn.615dfad0
test eax, eax
je 0x615342f6
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3168], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f316c], edx
mov byte [0x615f3170], al
mov dword [esp], 0x615e1320
call fcn.615013c0
mov dword [esp], 0x615f02a0
call fcn.615dfba0
jmp 0x615342f6
mov dword [esp], 0x615f0488
call fcn.615dfad0
test eax, eax
je 0x615342b3
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3490], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3494], edx
mov byte [0x615f3498], al
mov dword [esp], 0x615e1310
call fcn.615013c0
mov dword [esp], 0x615f0488
call fcn.615dfba0
jmp 0x615342b3
mov dword [esp], 0x615f0480
call fcn.615dfad0
test eax, eax
je 0x61534267
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3480], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3484], edx
mov byte [0x615f3488], al
mov dword [esp], 0x615e1300
call fcn.615013c0
mov dword [esp], 0x615f0480
call fcn.615dfba0
jmp 0x61534267
mov dword [esp], 0x615f0440
call fcn.615dfad0
test eax, eax
je 0x6153421d
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3418], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f341c], edx
mov byte [0x615f3420], al
mov dword [esp], 0x615e12f0
call fcn.615013c0
mov dword [esp], 0x615f0440
call fcn.615dfba0
jmp 0x6153421d
mov dword [esp], 0x615f03f8
call fcn.615dfad0
test eax, eax
je 0x615341da
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f33a8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33ac], edx
mov byte [0x615f33b0], al
mov dword [esp], 0x615e12e0
call fcn.615013c0
mov dword [esp], 0x615f03f8
call fcn.615dfba0
jmp 0x615341da
mov dword [esp], 0x615f03b0
call fcn.615dfad0
test eax, eax
je 0x61534197
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3338], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f333c], edx
mov byte [0x615f3340], al
mov dword [esp], 0x615e12d0
call fcn.615013c0
mov dword [esp], 0x615f03b0
call fcn.615dfba0
jmp 0x61534197
mov dword [esp], 0x615f0328
call fcn.615dfad0
test eax, eax
je 0x61534146
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3268], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f326c], edx
mov byte [0x615f3270], al
mov dword [esp], 0x615e12c0
call fcn.615013c0
mov dword [esp], 0x615f0328
call fcn.615dfba0
jmp 0x61534146
mov dword [esp], 0x615f02e0
call fcn.615dfad0
test eax, eax
je 0x615340fc
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f31e8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f31ec], edx
mov byte [0x615f31f0], al
mov dword [esp], 0x615e12b0
call fcn.615013c0
mov dword [esp], 0x615f02e0
call fcn.615dfba0
jmp 0x615340fc
mov dword [esp], 0x615f0298
call fcn.615dfad0
test eax, eax
je 0x615340b9
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3158], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f315c], edx
mov byte [0x615f3160], al
mov dword [esp], 0x615e12a0
call fcn.615013c0
mov dword [esp], 0x615f0298
call fcn.615dfba0
jmp 0x615340b9
mov dword [esp], 0x615f0490
call fcn.615dfad0
test eax, eax
je 0x61534076
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f34a0], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f34a4], edx
mov byte [0x615f34a8], al
mov dword [esp], 0x615e1290
call fcn.615013c0
mov dword [esp], 0x615f0490
call fcn.615dfba0
jmp 0x61534076
mov dword [esp], 0x615f02f8
call fcn.615dfad0
test eax, eax
je 0x615345c1
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3218], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f321c], edx
mov byte [0x615f3220], al
mov dword [esp], 0x615e13d0
call fcn.615013c0
mov dword [esp], 0x615f02f8
call fcn.615dfba0
jmp 0x615345c1
mov dword [esp], 0x615f02f0
call fcn.615dfad0
test eax, eax
je 0x61534577
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3208], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f320c], edx
mov byte [0x615f3210], al
mov dword [esp], 0x615e13c0
call fcn.615013c0
mov dword [esp], 0x615f02f0
call fcn.615dfba0
jmp 0x61534577
mov dword [esp], 0x615f02e8
call fcn.615dfad0
test eax, eax
je 0x61534534
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f31f8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f31fc], edx
mov byte [0x615f3200], al
mov dword [esp], 0x615e13b0
call fcn.615013c0
mov dword [esp], 0x615f02e8
call fcn.615dfba0
jmp 0x61534534
mov dword [esp], 0x615f02d8
call fcn.615dfad0
test eax, eax
je 0x615344fe
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f31d8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f31dc], edx
mov byte [0x615f31e0], al
mov dword [esp], 0x615e1390
call fcn.615013c0
mov dword [esp], 0x615f02d8
call fcn.615dfba0
jmp 0x615344fe
cmp esi, 0x1e
jbe 0x615365a4
mov edx, ecx
mov ecx, dword [ebp - 0x58]
mov eax, ebx
and ecx, 0xffffffe0
mov dword [ebp - 0x44], ecx
add ecx, ebx
lea esi, [esi]
nop
vmovdqu ymm7, ymmword [eax]
add eax, 0x20
add edx, 0x20
vmovdqu ymmword [edx - 0x20], ymm7
cmp eax, ecx
jne 0x61535570
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
add ecx, edx
sub esi, edx
mov dword [ebp - 0x40], ecx
mov ecx, eax
cmp dword [ebp - 0x58], edx
je 0x615365b7
vzeroupper
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x58]
sub eax, edx
mov dword [ebp - 0x44], eax
sub eax, 1
cmp eax, 0xe
jbe 0x615355dd
vmovdqu xmm3, xmmword [ebx + edx]
mov eax, edx
mov edx, dword [ebp - 0x3c]
vmovdqu xmmword [edx + eax], xmm3
mov edx, dword [ebp - 0x44]
vmovdqa xmmword [ebp - 0x58], xmm3
mov eax, edx
and eax, 0xfffffff0
add dword [ebp - 0x40], eax
add ecx, eax
sub esi, eax
test dl, 0xf
je 0x61534837
movzx eax, byte [ecx]
mov edx, dword [ebp - 0x40]
mov byte [edx], al
test esi, esi
jle 0x61534837
movzx eax, byte [ecx + 1]
mov byte [edx + 1], al
cmp esi, 1
je 0x61534837
movzx eax, byte [ecx + 2]
mov byte [edx + 2], al
cmp esi, 2
je 0x61534837
movzx eax, byte [ecx + 3]
mov byte [edx + 3], al
cmp esi, 3
je 0x61534837
movzx eax, byte [ecx + 4]
mov byte [edx + 4], al
cmp esi, 4
je 0x61534837
movzx eax, byte [ecx + 5]
mov byte [edx + 5], al
cmp esi, 5
je 0x61534837
movzx eax, byte [ecx + 6]
mov byte [edx + 6], al
cmp esi, 6
je 0x61534837
movzx eax, byte [ecx + 7]
mov byte [edx + 7], al
cmp esi, 7
je 0x61534837
movzx eax, byte [ecx + 8]
mov byte [edx + 8], al
cmp esi, 8
je 0x61534837
movzx eax, byte [ecx + 9]
mov byte [edx + 9], al
cmp esi, 9
je 0x61534837
movzx eax, byte [ecx + 0xa]
mov byte [edx + 0xa], al
cmp esi, 0xa
je 0x61534837
movzx eax, byte [ecx + 0xb]
mov byte [edx + 0xb], al
cmp esi, 0xb
je 0x61534837
movzx eax, byte [ecx + 0xc]
mov byte [edx + 0xc], al
cmp esi, 0xc
je 0x61534837
movzx eax, byte [ecx + 0xd]
mov byte [edx + 0xd], al
cmp esi, 0xd
je 0x61534837
movzx eax, byte [ecx + 0xe]
mov byte [edx + 0xe], al
jmp 0x61534837
mov dword [esp], 0x615f0318
call fcn.615dfad0
test eax, eax
je 0x615346c9
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f324c], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3250], edx
mov byte [0x615f3254], al
mov dword [esp], 0x615e1410
call fcn.615013c0
mov dword [esp], 0x615f0318
call fcn.615dfba0
jmp 0x615346c9
mov dword [esp], 0x615f0310
call fcn.615dfad0
test eax, eax
je 0x6153468c
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3240], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3244], edx
mov byte [0x615f3248], al
mov dword [esp], 0x615e1400
call fcn.615013c0
mov dword [esp], 0x615f0310
call fcn.615dfba0
jmp 0x6153468c
mov dword [esp], 0x615f0308
call fcn.615dfad0
test eax, eax
je 0x61534656
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3234], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3238], edx
mov byte [0x615f323c], al
mov dword [esp], 0x615e13f0
call fcn.615013c0
mov dword [esp], 0x615f0308
call fcn.615dfba0
jmp 0x61534656
mov dword [esp], 0x615f0300
call fcn.615dfad0
test eax, eax
je 0x61534620
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3228], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f322c], edx
mov byte [0x615f3230], al
mov dword [esp], 0x615e13e0
call fcn.615013c0
mov dword [esp], 0x615f0300
call fcn.615dfba0
jmp 0x61534620
mov dword [esp], 0x615f03a0
call fcn.615dfad0
test eax, eax
je 0x61534afa
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3320], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3324], edx
mov byte [0x615f3328], al
mov dword [esp], 0x615e1510
call fcn.615013c0
mov dword [esp], 0x615f03a0
call fcn.615dfba0
jmp 0x61534afa
mov dword [esp], 0x615f0398
call fcn.615dfad0
test eax, eax
je 0x61534abd
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3314], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3318], edx
mov byte [0x615f331c], al
mov dword [esp], 0x615e1500
call fcn.615013c0
mov dword [esp], 0x615f0398
call fcn.615dfba0
jmp 0x61534abd
mov dword [esp], 0x615f0378
call fcn.615dfad0
test eax, eax
je 0x615349cc
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32e4], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32e8], edx
mov byte [0x615f32ec], al
mov dword [esp], 0x615e14c0
call fcn.615013c0
mov dword [esp], 0x615f0378
call fcn.615dfba0
jmp 0x615349cc
mov dword [esp], 0x615f0370
call fcn.615dfad0
test eax, eax
je 0x61534996
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32d8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32dc], edx
mov byte [0x615f32e0], al
mov dword [esp], 0x615e14b0
call fcn.615013c0
mov dword [esp], 0x615f0370
call fcn.615dfba0
jmp 0x61534996
mov dword [esp], 0x615f0360
call fcn.615dfad0
test eax, eax
je 0x61534900
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32c0], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32c4], edx
mov byte [0x615f32c8], al
mov dword [esp], 0x615e1490
call fcn.615013c0
mov dword [esp], 0x615f0360
call fcn.615dfba0
jmp 0x61534900
mov dword [esp], 0x615f0358
call fcn.615dfad0
test eax, eax
je 0x615348c3
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32b4], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32b8], edx
mov byte [0x615f32bc], al
mov dword [esp], 0x615e1480
call fcn.615013c0
mov dword [esp], 0x615f0358
call fcn.615dfba0
jmp 0x615348c3
mov dword [esp], 0x615f0350
call fcn.615dfad0
test eax, eax
je 0x6153488d
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32a8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32ac], edx
mov byte [0x615f32b0], al
mov dword [esp], 0x615e1470
call fcn.615013c0
mov dword [esp], 0x615f0350
call fcn.615dfba0
jmp 0x6153488d
mov dword [esp], 0x615f0348
call fcn.615dfad0
test eax, eax
je 0x61534857
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f329c], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32a0], edx
mov byte [0x615f32a4], al
mov dword [esp], 0x615e1460
call fcn.615013c0
mov dword [esp], 0x615f0348
call fcn.615dfba0
jmp 0x61534857
mov dword [esp], 0x615f0338
call fcn.615dfad0
test eax, eax
je 0x6153479e
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3284], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3288], edx
mov byte [0x615f328c], al
mov dword [esp], 0x615e1440
call fcn.615013c0
mov dword [esp], 0x615f0338
call fcn.615dfba0
jmp 0x6153479e
mov dword [esp], 0x615f0330
call fcn.615dfad0
test eax, eax
je 0x61534768
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3278], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f327c], edx
mov byte [0x615f3280], al
mov dword [esp], 0x615e1430
call fcn.615013c0
mov dword [esp], 0x615f0330
call fcn.615dfba0
jmp 0x61534768
mov dword [esp], 0x615f0368
call fcn.615dfad0
test eax, eax
je 0x61534960
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32cc], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32d0], edx
mov byte [0x615f32d4], al
mov dword [esp], 0x615e14a0
call fcn.615013c0
mov dword [esp], 0x615f0368
call fcn.615dfba0
jmp 0x61534960
mov dword [esp], 0x615f0340
call fcn.615dfad0
test eax, eax
je 0x615347db
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3290], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3294], edx
mov byte [0x615f3298], al
mov dword [esp], 0x615e1450
call fcn.615013c0
mov dword [esp], 0x615f0340
call fcn.615dfba0
jmp 0x615347db
mov dword [esp], 0x615f03a8
call fcn.615dfad0
test eax, eax
je 0x61534b48
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f332c], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3330], edx
mov byte [0x615f3334], al
mov dword [esp], 0x615e1520
call fcn.615013c0
mov dword [esp], 0x615f03a8
call fcn.615dfba0
jmp 0x61534b48
mov dword [esp], 0x615f0380
call fcn.615dfad0
test eax, eax
je 0x61534a09
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32f0], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f32f4], edx
mov byte [0x615f32f8], al
mov dword [esp], 0x615e14d0
call fcn.615013c0
mov dword [esp], 0x615f0380
call fcn.615dfba0
jmp 0x61534a09
mov dword [esp], 0x615f0390
call fcn.615dfad0
test eax, eax
je 0x61534a87
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3308], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f330c], edx
mov byte [0x615f3310], al
mov dword [esp], 0x615e14f0
call fcn.615013c0
mov dword [esp], 0x615f0390
call fcn.615dfba0
jmp 0x61534a87
mov dword [esp], 0x615f0388
call fcn.615dfad0
test eax, eax
je 0x61534a51
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f32fc], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3300], edx
mov byte [0x615f3304], al
mov dword [esp], 0x615e14e0
call fcn.615013c0
mov dword [esp], 0x615f0388
call fcn.615dfba0
jmp 0x61534a51
mov dword [esp], 0x615f0320
call fcn.615dfad0
test eax, eax
je 0x61534732
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3258], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f325c], edx
mov byte [0x615f3260], al
mov dword [esp], 0x615e1420
call fcn.615013c0
mov dword [esp], 0x615f0320
call fcn.615dfba0
jmp 0x61534732
mov dword [esp], 0x615f03c8
call fcn.615dfad0
test eax, eax
je 0x61534bf1
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3360], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3364], edx
mov byte [0x615f3368], al
mov dword [esp], 0x615e1550
call fcn.615013c0
mov dword [esp], 0x615f03c8
call fcn.615dfba0
jmp 0x61534bf1
mov dword [esp], 0x615f03c0
call fcn.615dfad0
test eax, eax
je 0x61534bb4
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3354], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3358], edx
mov byte [0x615f335c], al
mov dword [esp], 0x615e1540
call fcn.615013c0
mov dword [esp], 0x615f03c0
call fcn.615dfba0
jmp 0x61534bb4
mov dword [esp], 0x615f03b8
call fcn.615dfad0
test eax, eax
je 0x61534b7e
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3348], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f334c], edx
mov byte [0x615f3350], al
mov dword [esp], 0x615e1530
call fcn.615013c0
mov dword [esp], 0x615f03b8
call fcn.615dfba0
jmp 0x61534b7e
mov dword [esp], 0x615f03e8
call fcn.615dfad0
test eax, eax
je 0x61534cdf
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3390], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3394], edx
mov byte [0x615f3398], al
mov dword [esp], 0x615e1590
call fcn.615013c0
mov dword [esp], 0x615f03e8
call fcn.615dfba0
jmp 0x61534cdf
mov dword [esp], 0x615f03e0
call fcn.615dfad0
test eax, eax
je 0x61534ca2
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3384], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3388], edx
mov byte [0x615f338c], al
mov dword [esp], 0x615e1580
call fcn.615013c0
mov dword [esp], 0x615f03e0
call fcn.615dfba0
jmp 0x61534ca2
mov dword [esp], 0x615f03d8
call fcn.615dfad0
test eax, eax
je 0x61534c6c
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3378], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f337c], edx
mov byte [0x615f3380], al
mov dword [esp], 0x615e1570
call fcn.615013c0
mov dword [esp], 0x615f03d8
call fcn.615dfba0
jmp 0x61534c6c
mov dword [esp], 0x615f03d0
call fcn.615dfad0
test eax, eax
je 0x61534c36
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f336c], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3370], edx
mov byte [0x615f3374], al
mov dword [esp], 0x615e1560
call fcn.615013c0
mov dword [esp], 0x615f03d0
call fcn.615dfba0
jmp 0x61534c36
mov dword [esp], 0x615f0470
call fcn.615dfad0
test eax, eax
je 0x61534ea2
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3464], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3468], edx
mov byte [0x615f346c], al
mov dword [esp], 0x615e1680
call fcn.615013c0
mov dword [esp], 0x615f0470
call fcn.615dfba0
jmp 0x61534ea2
mov dword [esp], 0x615f0468
call fcn.615dfad0
test eax, eax
je 0x61534e6c
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3458], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f345c], edx
mov byte [0x615f3460], al
mov dword [esp], 0x615e1670
call fcn.615013c0
mov dword [esp], 0x615f0468
call fcn.615dfba0
jmp 0x61534e6c
mov dword [esp], 0x615f0448
call fcn.615dfad0
test eax, eax
je 0x61534d66
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3428], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f342c], edx
mov byte [0x615f3430], al
mov dword [esp], 0x615e1630
call fcn.615013c0
mov dword [esp], 0x615f0448
call fcn.615dfba0
jmp 0x61534d66
mov dword [esp], 0x615f0438
call fcn.615dfad0
test eax, eax
je 0x61534d30
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f340c], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3410], edx
mov byte [0x615f3414], al
mov dword [esp], 0x615e1620
call fcn.615013c0
mov dword [esp], 0x615f0438
call fcn.615dfba0
jmp 0x61534d30
mov dword [esp], 0x615f0478
call fcn.615dfad0
test eax, eax
je 0x61534edf
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3470], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3474], edx
mov byte [0x615f3478], al
mov dword [esp], 0x615e1690
call fcn.615013c0
mov dword [esp], 0x615f0478
call fcn.615dfba0
jmp 0x61534edf
mov dword [esp], 0x615f0460
call fcn.615dfad0
test eax, eax
je 0x61534e36
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f344c], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3450], edx
mov byte [0x615f3454], al
mov dword [esp], 0x615e1660
call fcn.615013c0
mov dword [esp], 0x615f0460
call fcn.615dfba0
jmp 0x61534e36
mov dword [esp], 0x615f0458
call fcn.615dfad0
test eax, eax
je 0x61534dd9
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3440], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3444], edx
mov byte [0x615f3448], al
mov dword [esp], 0x615e1650
call fcn.615013c0
mov dword [esp], 0x615f0458
call fcn.615dfba0
jmp 0x61534dd9
mov dword [esp], 0x615f0450
call fcn.615dfad0
test eax, eax
je 0x61534d9c
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3434], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3438], edx
mov byte [0x615f343c], al
mov dword [esp], 0x615e1640
call fcn.615013c0
mov dword [esp], 0x615f0450
call fcn.615dfba0
jmp 0x61534d9c
vmovq xmm5, qword [0x615f4408]
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 0x20], 0x5b
add eax, edx
vmovq qword [ebp - 0x28], xmm5
mov dword [ebp - 0x58], eax
movzx eax, byte [0x615f03f0]
test al, al
je 0x6153642d
mov ecx, 0x615f339c
call fcn.6153f0a0
mov dword [esp], 0x615f339c
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm6, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0400]
test al, al
je 0x615363e2
mov ecx, 0x615f33b8
call fcn.6153f0a0
mov dword [esp], 0x615f33b8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm7, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm7
movzx eax, byte [0x615f0408]
test al, al
je 0x61536397
mov ecx, 0x615f33c4
call fcn.6153f0a0
mov dword [esp], 0x615f33c4
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0xe580be5e
vmovq xmm5, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm5
movzx eax, byte [0x615f0410]
test al, al
je 0x6153634c
mov ecx, 0x615f33d0
call fcn.6153f0a0
mov dword [esp], 0x615f33d0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61536245
lea eax, [ebp - 0x2c]
call eax
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call fcn.61531af0
mov byte [ebp - 0x20], 0x5b
vmovq xmm6, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0418]
test al, al
je 0x61536559
mov ecx, 0x615f33dc
call fcn.6153f0a0
mov dword [esp], 0x615f33dc
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm7, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm7
movzx eax, byte [0x615f0420]
test al, al
je 0x6153650e
mov ecx, 0x615f33e8
call fcn.6153f0a0
mov dword [esp], 0x615f33e8
call fcn.6152b7e0
mov byte [ebp - 0x20], 0x5b
vmovq xmm5, qword [0x615f4408]
vmovq qword [ebp - 0x28], xmm5
movzx eax, byte [0x615f0428]
test al, al
je 0x615364c3
mov ecx, 0x615f33f4
call fcn.6153f0a0
mov dword [esp], 0x615f33f4
call fcn.6152b7e0
mov dword [ebp - 0x2c], 0xf990c662
vmovq xmm6, qword [0x615f4408]
mov byte [ebp - 0x20], 0x5b
vmovq qword [ebp - 0x28], xmm6
movzx eax, byte [0x615f0430]
test al, al
je 0x61536478
mov ecx, 0x615f3400
call fcn.6153f0a0
mov dword [esp], 0x615f3400
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61534d10
lea eax, [ebp - 0x2c]
call eax
jmp 0x61534d10
mov dword [esp], 0x615f0410
call fcn.615dfad0
test eax, eax
je 0x61536226
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f33d0], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33d4], edx
mov byte [0x615f33d8], al
mov dword [esp], 0x615e15d0
call fcn.615013c0
mov dword [esp], 0x615f0410
call fcn.615dfba0
jmp 0x61536226
mov dword [esp], 0x615f0408
call fcn.615dfad0
test eax, eax
je 0x615361e9
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f33c4], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33c8], edx
mov byte [0x615f33cc], al
mov dword [esp], 0x615e15c0
call fcn.615013c0
mov dword [esp], 0x615f0408
call fcn.615dfba0
jmp 0x615361e9
mov dword [esp], 0x615f0400
call fcn.615dfad0
test eax, eax
je 0x615361b3
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f33b8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33bc], edx
mov byte [0x615f33c0], al
mov dword [esp], 0x615e15b0
call fcn.615013c0
mov dword [esp], 0x615f0400
call fcn.615dfba0
jmp 0x615361b3
mov dword [esp], 0x615f03f0
call fcn.615dfad0
test eax, eax
je 0x6153617d
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f339c], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33a0], edx
mov byte [0x615f33a4], al
mov dword [esp], 0x615e15a0
call fcn.615013c0
mov dword [esp], 0x615f03f0
call fcn.615dfba0
jmp 0x6153617d
mov dword [esp], 0x615f0430
call fcn.615dfad0
test eax, eax
je 0x61536324
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f3400], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f3404], edx
mov byte [0x615f3408], al
mov dword [esp], 0x615e1610
call fcn.615013c0
mov dword [esp], 0x615f0430
call fcn.615dfba0
jmp 0x61536324
mov dword [esp], 0x615f0428
call fcn.615dfad0
test eax, eax
je 0x615362e7
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f33f4], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33f8], edx
mov byte [0x615f33fc], al
mov dword [esp], 0x615e1600
call fcn.615013c0
mov dword [esp], 0x615f0428
call fcn.615dfba0
jmp 0x615362e7
mov dword [esp], 0x615f0420
call fcn.615dfad0
test eax, eax
je 0x615362b1
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f33e8], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33ec], edx
mov byte [0x615f33f0], al
mov dword [esp], 0x615e15f0
call fcn.615013c0
mov dword [esp], 0x615f0420
call fcn.615dfba0
jmp 0x615362b1
mov dword [esp], 0x615f0418
call fcn.615dfad0
test eax, eax
je 0x6153627b
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [0x615f33dc], eax
movzx eax, byte [ebp - 0x20]
mov dword [0x615f33e0], edx
mov byte [0x615f33e4], al
mov dword [esp], 0x615e15e0
call fcn.615013c0
mov dword [esp], 0x615f0418
call fcn.615dfba0
jmp 0x6153627b
mov eax, ecx
mov dword [ebp - 0x44], 0
mov ecx, ebx
mov dword [ebp - 0x40], eax
jmp 0x6153559e
vzeroupper
jmp 0x61534837