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

Disassembly:
push 0x20
mov eax, 0x1003dc7e
call fcn.1003d7ae
mov dword [ebp - 0x14], 1
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x10042857
call fcn.10003d9a
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edi, dword [0x10057860]
mov dword [ebp - 0x14], 1
test edi, edi
je 0x100038e8
cmp byte [0x100578dc], bl
je 0x1000325a
mov ecx, 0x10b8134
call fcn.1000d2bd
mov ebx, eax
test ebx, ebx
je 0x10003258
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10003258
push 4
add ebx, 0xc88
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10003258
mov ax, word [ebx]
mov word [edi + 0x40], ax
xor ebx, ebx
movzx eax, word [edi + 0x40]
cmp eax, 0x37
ja 0x100035b4
je 0x10003598
cmp eax, 0x21
ja 0x10003439
je 0x10003406
cmp eax, 0x15
ja 0x10003372
je 0x10003343
sub eax, 1
je 0x10003324
sub eax, 1
je 0x10003305
sub eax, 9
je 0x100032cf
sub eax, 1
jne 0x100038e8
movaps xmm0, xmmword [0x1004d100]
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 0x100032b7
mov byte [ebp - 0x18], bl
lea eax, [ebp - 0x27]
jmp 0x100038e0
mov cl, 0x6f
mov dword [ebp - 0x24], 0x1d0e246f
mov dword [ebp - 0x20], 0x2a4f1c1a
mov eax, ebx
mov dword [ebp - 0x1c], 0x10e031c
mov word [ebp - 0x18], 0x1b
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x100032fd
mov cl, byte [ebp - 0x24]
jmp 0x100032ee
lea eax, [ebp - 0x23]
jmp 0x100038dd
movaps xmm0, xmmword [0x1004d3b0]
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 0x10003315
jmp 0x100032c4
movaps xmm0, xmmword [0x1004cf90]
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 0x10003334
jmp 0x100032c4
mov cl, 8
mov dword [ebp - 0x20], 0x7a674508
mov dword [ebp - 0x1c], 0x66676c69
mov eax, ebx
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x10003367
mov cl, byte [ebp - 0x20]
jmp 0x10003358
mov byte [ebp - 0x18], bl
lea eax, [ebp - 0x1f]
jmp 0x100038e0
push 0x1e
pop ecx
sub eax, ecx
je 0x100033d6
sub eax, 1
je 0x100033b2
sub eax, 1
jne 0x100038e8
movaps xmm0, xmmword [0x1004d440]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x5353
mov byte [ebp - 0x16], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x1000339d
mov byte [ebp - 0x16], bl
jmp 0x100032c7
mov cl, 0x53
mov dword [ebp - 0x20], 0x357e0553
mov dword [ebp - 0x1c], 0x27203c21
mov eax, ebx
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x10003367
mov cl, byte [ebp - 0x20]
jmp 0x100033c7
mov byte [ebp - 0x24], cl
mov eax, ebx
mov dword [ebp - 0x23], 0x71727b5a
mov dword [ebp - 0x1f], 0x7f5d3e6d
mov dword [ebp - 0x1b], 0x7b726a6d
mov byte [ebp - 0x17], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x100032fd
mov cl, byte [ebp - 0x24]
jmp 0x100033f3
mov cl, 0x14
mov dword [ebp - 0x24], 0x78715c14
mov dword [ebp - 0x20], 0x76553478
mov eax, ebx
mov dword [ebp - 0x1c], 0x67676d
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xa
jae 0x1000342e
mov cl, byte [ebp - 0x24]
jmp 0x1000341f
mov byte [ebp - 0x19], bl
lea eax, [ebp - 0x23]
jmp 0x100038e0
sub eax, 0x22
je 0x1000356d
sub eax, 1
je 0x1000354b
sub eax, 0xd
je 0x10003518
sub eax, 3
je 0x100034e6
sub eax, 1
je 0x100034c4
sub eax, 1
je 0x10003492
sub eax, 1
jne 0x100038e8
movaps xmm0, xmmword [0x1004d0e0]
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 0x10003480
jmp 0x100032c4
mov cl, 0x3f
mov dword [ebp - 0x24], 0x5d50783f
mov dword [ebp - 0x20], 0x1f515653
mov eax, ebx
mov dword [ebp - 0x1c], 0x515a4d7e
mov word [ebp - 0x18], 0x5e
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x100032fd
mov cl, byte [ebp - 0x24]
jmp 0x100034b1
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 0x100034d4
jmp 0x100032c4
mov cl, 0x58
mov dword [ebp - 0x20], 0x3b2a1758
mov dword [ebp - 0x1c], 0x3d2a1978
mov eax, ebx
mov word [ebp - 0x18], 0x3936
mov byte [ebp - 0x16], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 9
jae 0x10003510
mov cl, byte [ebp - 0x20]
jmp 0x10003501
mov byte [ebp - 0x16], bl
jmp 0x1000336a
mov cl, 3
mov dword [ebp - 0x24], 0x77624103
mov dword [ebp - 0x20], 0x65666f77
mov eax, ebx
mov dword [ebp - 0x1c], 0x676f666a
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x10003543
mov cl, byte [ebp - 0x24]
jmp 0x10003534
mov byte [ebp - 0x18], bl
jmp 0x10003431
movaps xmm0, xmmword [0x1004c870]
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 0x10003558
mov byte [ebp - 0x19], bl
jmp 0x100032c7
mov cl, 0x41
mov dword [ebp - 0x24], 0x20330541
mov dword [ebp - 0x20], 0x612f2e26
mov eax, ebx
mov dword [ebp - 0x1c], 0x24372002
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x10003543
mov cl, byte [ebp - 0x24]
jmp 0x10003589
movaps xmm0, xmmword [0x1004c790]
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 0x100035a5
jmp 0x10003565
cmp eax, 0x51
ja 0x1000376f
je 0x10003740
cmp eax, 0x45
ja 0x100036ae
je 0x1000367f
sub eax, 0x3d
je 0x1000364d
sub eax, 1
je 0x1000362b
sub eax, 1
je 0x1000360c
sub eax, 1
jne 0x100038e8
movaps xmm0, xmmword [0x1004cdf0]
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 0x100035fa
jmp 0x100032c4
movaps xmm0, xmmword [0x1004c860]
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 0x10003619
jmp 0x10003565
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 0x1000363b
jmp 0x100032c4
mov cl, 0x3c
mov dword [ebp - 0x24], 0x4c5d723c
mov dword [ebp - 0x20], 0x1c4f5955
mov eax, ebx
mov dword [ebp - 0x1c], 0x5b4e537b
mov word [ebp - 0x18], 0x59
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x100032fd
mov cl, byte [ebp - 0x24]
jmp 0x1000366c
mov cl, 0x1f
mov dword [ebp - 0x20], 0x70714c1f
mov dword [ebp - 0x1c], 0x7e483f68
mov eax, ebx
mov word [ebp - 0x18], 0x6d
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 8
jae 0x100036a6
mov cl, byte [ebp - 0x20]
jmp 0x10003697
lea eax, [ebp - 0x1f]
jmp 0x100038dd
sub eax, 0x47
je 0x10003711
sub eax, 1
je 0x100036e9
sub eax, 1
jne 0x100038e8
movaps xmm0, xmmword [0x1004d0d0]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x28
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x10
jb 0x100036d4
lea eax, [ebp - 0x27]
jmp 0x100038dd
mov cl, 0x55
mov dword [ebp - 0x20], 0x31271455
mov dword [ebp - 0x1c], 0x38343027
mov eax, ebx
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x10003367
mov cl, byte [ebp - 0x20]
jmp 0x100036fe
mov cl, 0x3c
mov dword [ebp - 0x24], 0x52536e3c
mov dword [ebp - 0x20], 0x1c574e5d
mov eax, ebx
mov dword [ebp - 0x1c], 0x58525d70
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x10003543
mov cl, byte [ebp - 0x24]
jmp 0x1000372d
movaps xmm0, xmmword [0x1004d3a0]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x68014540
mov byte [ebp - 0x18], bl
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x13
jb 0x10003757
mov byte [ebp - 0x18], bl
lea eax, [ebp - 0x2b]
jmp 0x100038e0
sub eax, 0x52
je 0x100038b3
sub eax, 1
je 0x10003881
sub eax, 1
je 0x10003858
sub eax, 3
je 0x10003830
sub eax, 5
je 0x10003807
sub eax, 1
je 0x100037c5
sub eax, 1
jne 0x100038e8
movaps xmm0, xmmword [0x1004c900]
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 0x100037b3
jmp 0x10003565
push 0x1e
pop ecx
mov dl, 0x70
mov dword [ebp - 0x24], 0x19033970
mov word [ebp - 0x20], 0x1f1c
mov eax, ebx
mov byte [ebp - 0x1e], 0x1f
mov byte [ebp - 0x1d], cl
mov dword [ebp - 0x1c], 0x15023150
mov byte [ebp - 0x18], cl
mov word [ebp - 0x17], 0x11
xor byte [ebp + eax - 0x23], dl
inc eax
cmp eax, 0xd
jae 0x100037ff
mov dl, byte [ebp - 0x24]
jmp 0x100037f0
mov byte [ebp - 0x16], bl
jmp 0x10003431
mov cl, 0x2a
mov dword [ebp - 0x20], 0x43587a2a
mov dword [ebp - 0x1c], 0x444559
mov eax, ebx
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 6
jae 0x10003828
mov cl, byte [ebp - 0x20]
jmp 0x10003819
mov byte [ebp - 0x19], bl
jmp 0x1000336a
movaps xmm0, xmmword [str.4_v_f]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0xd59
mov byte [ebp - 0x16], bl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x10003846
jmp 0x100033aa
movaps xmm0, xmmword [0x1004d470]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x81b2d
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x12
jb 0x1000386c
mov byte [ebp - 0x19], bl
jmp 0x10003767
movaps xmm0, xmmword [0x1004d250]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x751c585d
mov word [ebp - 0x18], 0x7575
mov byte [ebp - 0x16], bl
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x15
jb 0x1000389e
mov byte [ebp - 0x16], bl
jmp 0x10003767
movaps xmm0, xmmword [0x1004d640]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x553c787d
mov word [ebp - 0x18], 0x55
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x14
jb 0x100038cd
lea eax, [ebp - 0x2b]
mov byte [ebp - 0x17], bl
push eax
mov ecx, esi
call fcn.10003b4a
mov eax, esi
call fcn.1003d78b
ret 4