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

Disassembly:
push 0x20
mov eax, 0x1003db9e
call fcn.1003d6ce
xor edi, edi
inc edi
mov dword [ebp - 0x14], edi
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x10042857
call fcn.10003da4
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], edi
mov edi, dword [0x10057860]
test edi, edi
je 0x100038f2
cmp byte [0x100578dc], bl
je 0x10003268
mov ecx, 0x10b8134
call fcn.1000d2b7
mov ebx, eax
test ebx, ebx
je 0x10003266
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10003266
push 4
add ebx, 0xc88
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10003266
mov ax, word [ebx]
mov word [edi + 0x40], ax
xor ebx, ebx
movzx eax, word [edi + 0x40]
push 0x37
pop ecx
cmp eax, ecx
ja 0x100035c7
je 0x100035ab
cmp eax, 0x21
ja 0x1000344e
je 0x1000341b
cmp eax, 0x15
ja 0x10003382
je 0x10003353
sub eax, 1
je 0x10003334
sub eax, 1
je 0x10003315
sub eax, 9
je 0x100032df
sub eax, 1
jne 0x100038f2
movaps xmm0, xmmword [0x1004d160]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x100032c7
mov byte [ebp - 0x18], bl
lea eax, [ebp - 0x27]
jmp 0x100038ea
mov cl, 0x62
mov dword [ebp - 0x24], 0x10032962
mov dword [ebp - 0x20], 0x27421117
mov eax, ebx
mov dword [ebp - 0x1c], 0xc030e11
mov word [ebp - 0x18], 0x16
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x1000330d
mov cl, byte [ebp - 0x24]
jmp 0x100032fe
lea eax, [ebp - 0x23]
jmp 0x100038e7
movaps xmm0, xmmword [0x1004d780]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x10003325
jmp 0x100032d4
movaps xmm0, xmmword [0x1004d700]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x10003344
jmp 0x100032d4
mov cl, 0x5b
mov dword [ebp - 0x20], 0x2934165b
mov dword [ebp - 0x1c], 0x35343f3a
mov eax, ebx
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x10003377
mov cl, byte [ebp - 0x20]
jmp 0x10003368
mov byte [ebp - 0x18], bl
lea eax, [ebp - 0x1f]
jmp 0x100038ea
sub eax, 0x1e
je 0x100033e4
sub eax, 1
je 0x100033c0
sub eax, 1
jne 0x100038f2
movaps xmm0, xmmword [0x1004d4d0]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x5555
mov byte [ebp - 0x16], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x100033ab
mov byte [ebp - 0x16], bl
jmp 0x100032d7
mov cl, 0x5a
mov dword [ebp - 0x20], 0x3c770c5a
mov dword [ebp - 0x1c], 0x2e293528
mov eax, ebx
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x10003377
mov cl, byte [ebp - 0x20]
jmp 0x100033d5
mov dl, 0x17
mov dword [ebp - 0x24], 0x7b725317
mov word [ebp - 0x20], 0x6478
mov eax, ebx
mov byte [ebp - 0x1e], cl
mov dword [ebp - 0x1d], 0x63647654
mov word [ebp - 0x19], 0x727b
mov byte [ebp - 0x17], bl
xor byte [ebp + eax - 0x23], dl
inc eax
cmp eax, 0xc
jae 0x1000330d
mov dl, byte [ebp - 0x24]
jmp 0x10003408
mov cl, 0x61
mov dword [ebp - 0x24], 0xd042961
mov dword [ebp - 0x20], 0x320410d
mov eax, ebx
mov dword [ebp - 0x1c], 0x121218
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xa
jae 0x10003443
mov cl, byte [ebp - 0x24]
jmp 0x10003434
mov byte [ebp - 0x19], bl
lea eax, [ebp - 0x23]
jmp 0x100038ea
sub eax, 0x22
je 0x10003580
sub eax, 1
je 0x1000355e
sub eax, 0xd
je 0x1000352b
sub eax, 3
je 0x100034f9
sub eax, 1
je 0x100034d7
sub eax, 1
je 0x100034a7
sub eax, 1
jne 0x100038f2
movaps xmm0, xmmword [0x1004cf40]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x10003495
jmp 0x100032d4
mov byte [ebp - 0x24], cl
mov eax, ebx
mov dword [ebp - 0x23], 0x5b555870
mov dword [ebp - 0x1f], 0x7617595e
mov dword [ebp - 0x1b], 0x56595245
mov byte [ebp - 0x17], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x1000330d
mov cl, byte [ebp - 0x24]
jmp 0x100034c4
movaps xmm0, xmmword [0x1004cd30]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x100034e7
jmp 0x100032d4
mov cl, 0x65
mov dword [ebp - 0x20], 0x6172a65
mov dword [ebp - 0x1c], 0x172445
mov eax, ebx
mov word [ebp - 0x18], 0x40b
mov byte [ebp - 0x16], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 9
jae 0x10003523
mov cl, byte [ebp - 0x20]
jmp 0x10003514
mov byte [ebp - 0x16], bl
jmp 0x1000337a
mov cl, 0x7a
mov dword [ebp - 0x24], 0xe1b387a
mov dword [ebp - 0x20], 0x1c1f160e
mov eax, ebx
mov dword [ebp - 0x1c], 0x1e161f13
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x10003556
mov cl, byte [ebp - 0x24]
jmp 0x10003547
mov byte [ebp - 0x18], bl
jmp 0x10003446
movaps xmm0, xmmword [str._fGNMQ]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x1000356b
mov byte [ebp - 0x19], bl
jmp 0x100032d7
mov cl, 0x26
mov dword [ebp - 0x24], 0x47546226
mov dword [ebp - 0x20], 0x6484941
mov eax, ebx
mov dword [ebp - 0x1c], 0x43504765
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x10003556
mov cl, byte [ebp - 0x24]
jmp 0x1000359c
movaps xmm0, xmmword [0x1004c780]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x100035b8
jmp 0x10003578
cmp eax, 0x51
ja 0x10003782
je 0x10003753
cmp eax, 0x45
ja 0x100036c1
je 0x10003692
sub eax, 0x3d
je 0x10003660
sub eax, 1
je 0x1000363e
sub eax, 1
je 0x1000361f
sub eax, 1
jne 0x100038f2
movaps xmm0, xmmword [0x1004cec0]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x1000360d
jmp 0x100032d4
movaps xmm0, xmmword [str.4zQ_PG]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x1000362c
jmp 0x10003578
movaps xmm0, xmmword [0x1004ceb0]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x1000364e
jmp 0x100032d4
mov cl, 0x30
mov dword [ebp - 0x24], 0x40517e30
mov dword [ebp - 0x20], 0x10435559
mov eax, ebx
mov dword [ebp - 0x1c], 0x57425f77
mov word [ebp - 0x18], 0x55
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x1000330d
mov cl, byte [ebp - 0x24]
jmp 0x1000367f
mov cl, 0x13
mov dword [ebp - 0x20], 0x7c7d4013
mov dword [ebp - 0x1c], 0x72443364
mov eax, ebx
mov word [ebp - 0x18], 0x61
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 8
jae 0x100036b9
mov cl, byte [ebp - 0x20]
jmp 0x100036aa
lea eax, [ebp - 0x1f]
jmp 0x100038e7
sub eax, 0x47
je 0x10003724
sub eax, 1
je 0x100036fc
sub eax, 1
jne 0x100038f2
movaps xmm0, xmmword [0x1004ce20]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x31
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x10
jb 0x100036e7
lea eax, [ebp - 0x27]
jmp 0x100038e7
mov cl, 0x5c
mov dword [ebp - 0x20], 0x382e1d5c
mov dword [ebp - 0x1c], 0x313d392e
mov eax, ebx
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x10003377
mov cl, byte [ebp - 0x20]
jmp 0x10003711
mov cl, 0x4c
mov dword [ebp - 0x24], 0x22231e4c
mov dword [ebp - 0x20], 0x6c273e2d
mov eax, ebx
mov dword [ebp - 0x1c], 0x28222d00
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x10003556
mov cl, byte [ebp - 0x24]
jmp 0x10003740
movaps xmm0, xmmword [0x1004d370]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x71185c59
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x13
jb 0x1000376a
mov byte [ebp - 0x18], bl
lea eax, [ebp - 0x2b]
jmp 0x100038ea
sub eax, 0x52
je 0x100038bd
sub eax, 1
je 0x1000388b
sub eax, 1
je 0x10003862
sub eax, 3
je 0x1000383a
sub eax, 5
je 0x10003811
sub eax, 1
je 0x100037d8
sub eax, 1
jne 0x100038f2
movaps xmm0, xmmword [0x1004c9c0]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x100037c6
jmp 0x10003578
mov cl, 0x63
mov dword [ebp - 0x24], 0xa102a63
mov dword [ebp - 0x20], 0xd0c0c0f
mov eax, ebx
mov dword [ebp - 0x1c], 0x6112243
mov word [ebp - 0x18], 0x20d
mov byte [ebp - 0x16], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xd
jae 0x10003809
mov cl, byte [ebp - 0x24]
jmp 0x100037fa
mov byte [ebp - 0x16], bl
jmp 0x10003446
mov cl, 0x12
mov dword [ebp - 0x20], 0x7b604212
mov dword [ebp - 0x1c], 0x7c7d61
mov eax, ebx
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 6
jae 0x10003832
mov cl, byte [ebp - 0x20]
jmp 0x10003823
mov byte [ebp - 0x19], bl
jmp 0x1000337a
movaps xmm0, xmmword [0x1004d710]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x7226
mov byte [ebp - 0x16], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x10003850
jmp 0x100033b8
movaps xmm0, xmmword [0x1004d790]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x263503
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x12
jb 0x10003876
mov byte [ebp - 0x19], bl
jmp 0x1000377a
movaps xmm0, xmmword [0x1004cc70]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x28410500
mov word [ebp - 0x18], 0x2828
mov byte [ebp - 0x16], bl
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x15
jb 0x100038a8
mov byte [ebp - 0x16], bl
jmp 0x1000377a
movaps xmm0, xmmword [0x1004d5c0]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x543d797c
mov word [ebp - 0x18], 0x54
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x14
jb 0x100038d7
lea eax, [ebp - 0x2b]
mov byte [ebp - 0x17], bl
push eax
mov ecx, esi
call fcn.10003b54
mov eax, esi
call fcn.1003d6ab
ret 4