Function at 0x100176c5
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x1004e014]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push esi
mov ebx, ecx
mov dword [esp + 0x1c], 0xc110463
push edi
mov cl, 0x63
mov dword [esp + 0x24], 0x173c1316
mov word [esp + 0x28], 0x130c
xor edx, edx
mov byte [esp + 0x2a], 0
xor cl, byte [esp + edx + 0x21]
mov byte [esp + edx + 0x21], cl
inc edx
cmp edx, 9
jae 0x10017718
mov cl, byte [esp + 0x20]
jmp 0x10017704
sub esp, 0x18
mov byte [esp + 0x42], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 4], eax
mov cl, 0x40
mov dword [esp + 0x30], 0x38253440
mov dword [esp + 0x34], 0x29341f34
xor edx, edx
mov dword [esp + 0x38], 0x252c34
xor cl, byte [esp + edx + 0x31]
mov byte [esp + edx + 0x31], cl
inc edx
cmp edx, 0xa
jae 0x10017769
mov cl, byte [esp + 0x30]
jmp 0x10017755
sub esp, 0x18
mov byte [esp + 0x53], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx + 4]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 8], eax
mov dl, 0xb
mov dword [esp + 0x10], 0x736e7f0b
mov dword [esp + 0x14], 0x627c547f
xor ecx, ecx
mov dword [esp + 0x18], 0x796e6565
mov word [esp + 0x1c], 0x78
xor dl, byte [esp + ecx + 0x11]
mov byte [esp + ecx + 0x11], dl
inc ecx
cmp ecx, 0xc
jae 0x100177c2
mov dl, byte [esp + 0x10]
jmp 0x100177ae
sub esp, 0x18
mov byte [esp + 0x35], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx + 4]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0xc], eax
mov cl, 0x4c
mov dword [esp + 0x20], 0x3429384c
mov dword [esp + 0x24], 0x25381338
xor edx, edx
mov word [esp + 0x28], 0x2921
mov byte [esp + 0x2a], 0
xor cl, byte [esp + edx + 0x21]
mov byte [esp + edx + 0x21], cl
inc edx
cmp edx, 9
jae 0x10017818
mov cl, byte [esp + 0x20]
jmp 0x10017804
sub esp, 0x18
mov byte [esp + 0x42], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx + 4]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0x10], eax
mov cl, 0x1b
mov dword [esp + 0x20], 0x756f591b
mov dword [esp + 0x24], 0x74775844
xor edx, edx
mov word [esp + 0x28], 0x7e68
mov byte [esp + 0x2a], 0
xor cl, byte [esp + edx + 0x21]
mov byte [esp + edx + 0x21], cl
inc edx
cmp edx, 9
jae 0x1001786e
mov cl, byte [esp + 0x20]
jmp 0x1001785a
sub esp, 0x18
mov byte [esp + 0x42], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx + 4]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0x14], eax
mov cl, 0x3b
mov dword [esp + 0x40], 0x554f793b
mov dword [esp + 0x44], 0x5e4b7464
xor edx, edx
mov word [esp + 0x48], 0x55
xor cl, byte [esp + edx + 0x41]
mov byte [esp + edx + 0x41], cl
inc edx
cmp edx, 8
jae 0x100178bf
mov cl, byte [esp + 0x40]
jmp 0x100178ab
sub esp, 0x18
mov byte [esp + 0x61], 0
lea eax, [esp + 0x59]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx + 4]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0x18], eax
mov cl, 0x5a
mov dword [esp + 0x40], 0x342e185a
mov dword [esp + 0x44], 0x3e331205
xor edx, edx
mov word [esp + 0x48], 0x3f
xor cl, byte [esp + edx + 0x41]
mov byte [esp + edx + 0x41], cl
inc edx
cmp edx, 8
jae 0x10017910
mov cl, byte [esp + 0x40]
jmp 0x100178fc
sub esp, 0x18
mov byte [esp + 0x61], 0
lea eax, [esp + 0x59]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx + 4]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0x1c], eax
mov cl, 0x4e
mov dword [esp + 0x10], 0x213c294e
mov dword [esp + 0x14], 0x2d113e3b
xor edx, edx
mov dword [esp + 0x18], 0x2b3a2021
mov word [esp + 0x1c], 0x3a20
mov byte [esp + 0x1e], 0
xor cl, byte [esp + edx + 0x11]
mov byte [esp + edx + 0x11], cl
inc edx
cmp edx, 0xd
jae 0x1001796e
mov cl, byte [esp + 0x10]
jmp 0x1001795a
sub esp, 0x18
mov byte [esp + 0x36], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0x20], eax
lea eax, [ebx + 0x50]
xor ecx, ecx
mov dword [esp + 0x58], eax
lea esi, [ebx + 0x24]
mov dword [esp + 0x54], ecx
push 3
pop eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x5c], eax
sub esp, 0x18
mov dword [esp + 0x58], 0xe130661
mov edi, esp
mov dword [esp + 0x5c], 0x443e1114
mov word [esp + 0x60], 5
xor edx, edx
push ecx
mov cl, 0x61
xor cl, byte [esp + edx + 0x5d]
mov byte [esp + edx + 0x5d], cl
inc edx
cmp edx, 8
jae 0x100179df
mov cl, byte [esp + 0x5c]
jmp 0x100179cb
sub esp, 0x18
mov byte [esp + 0x7d], 0
lea eax, [esp + 0x75]
mov ecx, esp
push eax
call fcn.100040a5
push edi
call fcn.10003b8a
mov ecx, dword [ebx + 0x20]
add esp, 0x20
call fcn.1000ae52
add esp, 0x18
mov dword [esi], eax
mov cl, 0x42
mov dword [esp + 0x30], 0x252f2b42
mov dword [esp + 0x34], 0x27272c1d
xor edx, edx
mov word [esp + 0x38], 0x3126
mov byte [esp + 0x3a], 0
xor cl, byte [esp + edx + 0x31]
mov byte [esp + edx + 0x31], cl
inc edx
cmp edx, 9
jae 0x10017a3d
mov cl, byte [esp + 0x30]
jmp 0x10017a29
sub esp, 0x18
mov byte [esp + 0x52], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
mov edi, dword [esp + 0x70]
add esp, 0x18
mov cl, 0x3e
mov dword [esp + 0x10], 0x5b5b503e
mov dword [esp + 0x14], 0x5d614d5a
xor edx, edx
mov dword [esp + 0x18], 0x4a504b51
mov dword [edi - 4], eax
mov byte [esp + 0x1c], 0
xor cl, byte [esp + edx + 0x11]
mov byte [esp + edx + 0x11], cl
inc edx
cmp edx, 0xb
jae 0x10017a97
mov cl, byte [esp + 0x10]
jmp 0x10017a83
sub esp, 0x18
mov byte [esp + 0x34], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
movaps xmm0, xmmword [0x10047540]
add esp, 0x18
mov dword [edi], eax
xor edx, edx
movups xmmword [esp + 0x7c], xmm0
mov cl, byte [esp + 0x7c]
xor byte [esp + edx + 0x7d], cl
inc edx
cmp edx, 0xe
jb 0x10017ac5
sub esp, 0x18
mov byte [esp + 0xa3], 0
lea eax, [esp + 0x95]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
add esp, 0x18
mov dword [edi + 4], eax
mov cl, 0x43
mov dword [esp + 0x20], 0x373b3743
mov dword [esp + 0x24], 0x2e222d1c
xor edx, edx
mov word [esp + 0x28], 0x26
xor cl, byte [esp + edx + 0x21]
mov byte [esp + edx + 0x21], cl
inc edx
cmp edx, 8
jae 0x10017b29
mov cl, byte [esp + 0x20]
jmp 0x10017b15
sub esp, 0x18
mov byte [esp + 0x41], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
mov ecx, dword [esp + 0x6c]
add esp, 0x18
mov dword [edi + 8], eax
inc ecx
add edi, 0x18
mov dword [esp + 0x54], ecx
add esi, 4
mov dword [esp + 0x58], edi
sub dword [esp + 0x5c], 1
jne 0x100179aa
push 0x74
pop edx
mov byte [esp + 0x10], dl
xor ecx, ecx
mov dword [esp + 0x11], 0x11b0613
mov dword [esp + 0x15], 0x11062b04
mov dword [esp + 0x19], 0x10061503
mov byte [esp + 0x1d], 0
xor dl, byte [esp + ecx + 0x11]
mov byte [esp + ecx + 0x11], dl
inc ecx
cmp ecx, 0xc
jae 0x10017ba2
mov dl, byte [esp + 0x10]
jmp 0x10017b8e
sub esp, 0x18
mov byte [esp + 0x35], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0x30], eax
mov dword [esp + 0x31], 0x1c2d3701
xor ecx, ecx
mov dword [esp + 0x35], 0x22342611
mov word [esp + 0x39], 0x2731
push 0x43
pop edx
mov byte [esp + 0x30], dl
mov byte [esp + 0x3b], 0
xor dl, byte [esp + ecx + 0x31]
mov byte [esp + ecx + 0x31], dl
inc ecx
cmp ecx, 0xa
jae 0x10017bfc
mov dl, byte [esp + 0x30]
jmp 0x10017be8
sub esp, 0x18
mov byte [esp + 0x53], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [ebx + 0x30]
call fcn.1000ae52
add esp, 0x18
mov dword [ebx + 0x40], eax
xor eax, eax
lea esi, [ebx + 0x8c]
lea edi, [ebx + 0x34]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], edi
sub esp, 0x18
mov dword [esp + 0x28], 0x15011664
mov dword [esp + 0x54], esp
mov cl, 0x64
mov dword [esp + 0x2c], 0x5100d11
xor edx, edx
mov dword [esp + 0x30], 0x413b08
push eax
mov byte [esp + 0x38], 0
xor cl, byte [esp + edx + 0x2d]
mov byte [esp + edx + 0x2d], cl
inc edx
cmp edx, 0xb
jae 0x10017c72
mov cl, byte [esp + 0x2c]
jmp 0x10017c5e
sub esp, 0x18
mov byte [esp + 0x50], 0
lea eax, [esp + 0x45]
mov ecx, esp
push eax
call fcn.100040a5
push dword [esp + 0x70]
call fcn.10003b8a
mov ecx, dword [ebx + 0x30]
add esp, 0x20
call fcn.1000ae52
add esp, 0x18
mov dword [edi], eax
mov cl, 0x5b
mov dword [esp + 0x20], 0x3e293a5b
mov dword [esp + 0x24], 0x3e29043a
xor edx, edx
mov dword [esp + 0x28], 0x3f293a2c
mov byte [esp + 0x2c], 0
xor cl, byte [esp + edx + 0x21]
mov byte [esp + edx + 0x21], cl
inc edx
cmp edx, 0xb
jae 0x10017cd4
mov cl, byte [esp + 0x20]
jmp 0x10017cc0
sub esp, 0x18
mov byte [esp + 0x44], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [edi]
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 8], eax
mov cl, 0x50
mov dword [esp + 0x30], 0x24282450
mov dword [esp + 0x34], 0x2735220f
xor edx, edx
mov dword [esp + 0x38], 0x342231
xor cl, byte [esp + edx + 0x31]
mov byte [esp + edx + 0x31], cl
inc edx
cmp edx, 0xa
jae 0x10017d25
mov cl, byte [esp + 0x30]
jmp 0x10017d11
sub esp, 0x18
mov byte [esp + 0x53], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [edi]
call fcn.1000ae52
movaps xmm0, xmmword [0x10048340]
add esp, 0x18
mov dword [esi + 0xc], eax
xor edx, edx
movups xmmword [esp + 0x64], xmm0
mov word [esp + 0x74], 0x63
mov cl, byte [esp + 0x64]
xor byte [esp + edx + 0x65], cl
inc edx
cmp edx, 0x10
jb 0x10017d5b
sub esp, 0x18
mov byte [esp + 0x8d], 0
lea eax, [esp + 0x7d]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [edi]
call fcn.1000ae52
movaps xmm0, xmmword [0x100476c0]
add esp, 0x18
mov dword [esi + 0x10], eax
xor ecx, ecx
movups xmmword [esp + 0x64], xmm0
mov byte [esp + 0x74], 0
mov al, byte [esp + 0x64]
xor byte [esp + ecx + 0x65], al
inc ecx
cmp ecx, 0xf
jb 0x10017da0
sub esp, 0x18
mov byte [esp + 0x8c], 0
lea eax, [esp + 0x7d]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [edi]
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x14], eax
call fcn.10008afe
test eax, eax
je 0x10017ea1
mov dword [esi], eax
call fcn.1000b52e
test eax, eax
je 0x10017ea1
mov ecx, dword [esi]
mov dword [ecx], eax
mov ecx, dword [esi]
mov edx, dword [ebx]
mov ecx, dword [ecx]
call fcn.1000ae1c
mov eax, dword [esi]
xor edx, edx
mov edi, 0x3f340000
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xcc]
mov dword [ecx + 0x13c], edx
mov dword [ecx + 0x140], edx
mov dword [ecx + 0x144], edi
mov dword [ecx + 0x148], edi
mov dword [ecx + 0x1f0], edx
mov dword [ecx + 0x1f4], edx
mov dword [ecx + 0x1f8], edx
mov dword [ecx + 0x1fc], edx
call eax
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.1000b0ff
mov ecx, dword [esi]
mov edx, 0x110
mov ecx, dword [ecx]
call fcn.1000b1a0
mov ecx, dword [esi + 8]
lea eax, [esp + 0x40]
push eax
call fcn.1000aebf
mov esi, eax
lea edi, [esp + 0x80]
pop ecx
lea edx, [esp + 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x54]
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.1000b581
mov ecx, dword [esi]
lea edx, [esp + 0x7c]
mov ecx, dword [ecx]
call fcn.1000af33
mov ecx, dword [esi]
xor dl, dl
mov ecx, dword [ecx]
call fcn.1000b082
mov edi, dword [esp + 0x58]
call fcn.10008afe
test eax, eax
je 0x10017ead
mov dword [esi + 4], eax
mov eax, dword [esp + 0x5c]
add edi, 4
inc eax
mov dword [esp + 0x58], edi
add esi, 0x18
mov dword [esp + 0x5c], eax
sub dword [esp + 0x78], 1
mov dword [esp + 0x54], esi
jne 0x10017c35
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10037f95
mov esp, ebp
pop ebp
ret