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

Disassembly:
push 0x20
mov eax, 0x1003e1fe
call fcn.1003dd2e
mov dword [ebp - 0x14], 1
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x10042857
call fcn.10003d99
xor edx, edx
mov dword [ebp - 4], edx
mov edi, dword [0x10057860]
mov dword [ebp - 0x14], 1
test edi, edi
je 0x100038e7
cmp byte [0x100578e0], dl
je 0x10003262
mov ecx, 0x10b8134
call fcn.1000d857
mov ebx, eax
test ebx, ebx
je 0x10003260
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10003260
push 4
add ebx, 0xc88
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
xor edx, edx
test eax, eax
jne 0x10003262
mov ax, word [ebx]
mov word [edi + 0x40], ax
jmp 0x10003262
xor edx, edx
movzx eax, word [edi + 0x40]
cmp eax, 0x37
ja 0x100035bc
je 0x100035a0
cmp eax, 0x21
ja 0x10003441
je 0x1000340e
cmp eax, 0x15
ja 0x1000337a
je 0x1000334b
sub eax, 1
je 0x1000332c
sub eax, 1
je 0x1000330d
sub eax, 9
je 0x100032d7
sub eax, 1
jne 0x100038e7
movaps xmm0, xmmword [0x1004d440]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x100032bf
mov byte [ebp - 0x18], dl
lea eax, [ebp - 0x27]
jmp 0x100038df
mov cl, 0x3a
mov dword [ebp - 0x24], 0x485b713a
mov dword [ebp - 0x20], 0x7f1a494f
mov eax, edx
mov dword [ebp - 0x1c], 0x545b5649
mov word [ebp - 0x18], 0x4e
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x10003305
mov cl, byte [ebp - 0x24]
jmp 0x100032f6
lea eax, [ebp - 0x23]
jmp 0x100038dc
movaps xmm0, xmmword [0x1004cd70]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x1000331d
jmp 0x100032cc
movaps xmm0, xmmword [0x1004d050]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x1000333c
jmp 0x100032cc
mov cl, 0x42
mov dword [ebp - 0x20], 0x302d0f42
mov dword [ebp - 0x1c], 0x2c2d2623
mov eax, edx
mov byte [ebp - 0x18], dl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x1000336f
mov cl, byte [ebp - 0x20]
jmp 0x10003360
mov byte [ebp - 0x18], dl
lea eax, [ebp - 0x1f]
jmp 0x100038df
sub eax, 0x1e
je 0x100033dc
sub eax, 1
je 0x100033b8
sub eax, 1
jne 0x100038e7
movaps xmm0, xmmword [0x1004cf10]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x2f2f
mov byte [ebp - 0x16], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x100033a3
mov byte [ebp - 0x16], dl
jmp 0x100032cf
mov cl, 0x3f
mov dword [ebp - 0x20], 0x5912693f
mov dword [ebp - 0x1c], 0x4b4c504d
mov eax, edx
mov byte [ebp - 0x18], dl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x1000336f
mov cl, byte [ebp - 0x20]
jmp 0x100033cd
mov cl, 0x61
mov dword [ebp - 0x24], 0xd042561
mov dword [ebp - 0x20], 0x2241120e
mov eax, edx
mov dword [ebp - 0x1c], 0xd151200
mov word [ebp - 0x18], 4
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x10003305
mov cl, byte [ebp - 0x24]
jmp 0x100033fb
mov cl, 0x25
mov dword [ebp - 0x24], 0x49406d25
mov dword [ebp - 0x20], 0x47640549
mov eax, edx
mov dword [ebp - 0x1c], 0x56565c
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xa
jae 0x10003436
mov cl, byte [ebp - 0x24]
jmp 0x10003427
mov byte [ebp - 0x19], dl
lea eax, [ebp - 0x23]
jmp 0x100038df
sub eax, 0x22
je 0x10003575
sub eax, 1
je 0x10003553
sub eax, 0xd
je 0x10003520
sub eax, 3
je 0x100034ee
sub eax, 1
je 0x100034cc
sub eax, 1
je 0x1000349a
sub eax, 1
jne 0x100038e7
movaps xmm0, xmmword [0x1004d970]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x10003488
jmp 0x100032cc
mov cl, 0x2f
mov dword [ebp - 0x24], 0x4d40682f
mov dword [ebp - 0x20], 0xf414643
mov eax, edx
mov dword [ebp - 0x1c], 0x414a5d6e
mov word [ebp - 0x18], 0x4e
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x10003305
mov cl, byte [ebp - 0x24]
jmp 0x100034b9
movaps xmm0, xmmword [0x1004d710]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x100034dc
jmp 0x100032cc
mov cl, 0x6f
mov dword [ebp - 0x20], 0xc1d206f
mov dword [ebp - 0x1c], 0xa1d2e4f
mov eax, edx
mov word [ebp - 0x18], 0xe01
mov byte [ebp - 0x16], dl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 9
jae 0x10003518
mov cl, byte [ebp - 0x20]
jmp 0x10003509
mov byte [ebp - 0x16], dl
jmp 0x10003372
mov cl, 0x77
mov dword [ebp - 0x24], 0x3163577
mov dword [ebp - 0x20], 0x11121b03
mov eax, edx
mov dword [ebp - 0x1c], 0x131b121e
mov byte [ebp - 0x18], dl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x1000354b
mov cl, byte [ebp - 0x24]
jmp 0x1000353c
mov byte [ebp - 0x18], dl
jmp 0x10003439
movaps xmm0, xmmword [0x1004c910]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x10003560
mov byte [ebp - 0x19], dl
jmp 0x100032cf
mov cl, 0x6c
mov dword [ebp - 0x24], 0xd1e286c
mov dword [ebp - 0x20], 0x4c02030b
mov eax, edx
mov dword [ebp - 0x1c], 0x91a0d2f
mov byte [ebp - 0x18], dl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x1000354b
mov cl, byte [ebp - 0x24]
jmp 0x10003591
movaps xmm0, xmmword [str.F_r___f]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x100035ad
jmp 0x1000356d
cmp eax, 0x51
ja 0x10003777
je 0x10003748
cmp eax, 0x45
ja 0x100036b6
je 0x10003687
sub eax, 0x3d
je 0x10003655
sub eax, 1
je 0x10003633
sub eax, 1
je 0x10003614
sub eax, 1
jne 0x100038e7
movaps xmm0, xmmword [0x1004d0b0]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x10003602
jmp 0x100032cc
movaps xmm0, xmmword [0x1004c900]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x10003621
jmp 0x1000356d
movaps xmm0, xmmword [0x1004d750]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x10003643
jmp 0x100032cc
mov cl, 0x7d
mov dword [ebp - 0x24], 0xd1c337d
mov dword [ebp - 0x20], 0x5d0e1814
mov eax, edx
mov dword [ebp - 0x1c], 0x1a0f123a
mov word [ebp - 0x18], 0x18
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xc
jae 0x10003305
mov cl, byte [ebp - 0x24]
jmp 0x10003674
mov cl, 0x11
mov dword [ebp - 0x20], 0x7e7f4211
mov dword [ebp - 0x1c], 0x70463166
mov eax, edx
mov word [ebp - 0x18], 0x63
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 8
jae 0x100036ae
mov cl, byte [ebp - 0x20]
jmp 0x1000369f
lea eax, [ebp - 0x1f]
jmp 0x100038dc
sub eax, 0x47
je 0x10003719
sub eax, 1
je 0x100036f1
sub eax, 1
jne 0x100038e7
movaps xmm0, xmmword [0x1004d410]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x5c
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x10
jb 0x100036dc
lea eax, [ebp - 0x27]
jmp 0x100038dc
mov cl, 0x1a
mov dword [ebp - 0x20], 0x7e685b1a
mov dword [ebp - 0x1c], 0x777b7f68
mov eax, edx
mov byte [ebp - 0x18], dl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x1000336f
mov cl, byte [ebp - 0x20]
jmp 0x10003706
mov cl, 0x4f
mov dword [ebp - 0x24], 0x21201d4f
mov dword [ebp - 0x20], 0x6f243d2e
mov eax, edx
mov dword [ebp - 0x1c], 0x2b212e03
mov byte [ebp - 0x18], dl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x1000354b
mov cl, byte [ebp - 0x24]
jmp 0x10003735
movaps xmm0, xmmword [0x1004d390]
mov ecx, edx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x741d595c
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x13
jb 0x1000375f
mov byte [ebp - 0x18], dl
lea eax, [ebp - 0x2b]
jmp 0x100038df
sub eax, 0x52
je 0x100038b2
sub eax, 1
je 0x10003880
sub eax, 1
je 0x10003857
sub eax, 3
je 0x1000382f
sub eax, 5
je 0x10003806
sub eax, 1
je 0x100037cd
sub eax, 1
jne 0x100038e7
movaps xmm0, xmmword [0x1004c840]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x100037bb
jmp 0x1000356d
mov cl, 0x39
mov dword [ebp - 0x24], 0x504a7039
mov dword [ebp - 0x20], 0x57565655
mov eax, edx
mov dword [ebp - 0x1c], 0x5c4b7819
mov word [ebp - 0x18], 0x5857
mov byte [ebp - 0x16], dl
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xd
jae 0x100037fe
mov cl, byte [ebp - 0x24]
jmp 0x100037ef
mov byte [ebp - 0x16], dl
jmp 0x10003439
mov cl, 0x63
mov dword [ebp - 0x20], 0xa113363
mov dword [ebp - 0x1c], 0xd0c10
mov eax, edx
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 6
jae 0x10003827
mov cl, byte [ebp - 0x20]
jmp 0x10003818
mov byte [ebp - 0x19], dl
jmp 0x10003372
movaps xmm0, xmmword [0x1004cf80]
mov ecx, edx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x3561
mov byte [ebp - 0x16], dl
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x10003845
jmp 0x100033b0
movaps xmm0, xmmword [0x1004cf30]
mov ecx, edx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x756650
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x12
jb 0x1000386b
mov byte [ebp - 0x19], dl
jmp 0x1000376f
movaps xmm0, xmmword [0x1004d330]
mov ecx, edx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x7a135752
mov word [ebp - 0x18], 0x7a7a
mov byte [ebp - 0x16], dl
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x15
jb 0x1000389d
mov byte [ebp - 0x16], dl
jmp 0x1000376f
movaps xmm0, xmmword [0x1004cca0]
mov ecx, edx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x335a1e1b
mov word [ebp - 0x18], 0x33
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x14
jb 0x100038cc
lea eax, [ebp - 0x2b]
mov byte [ebp - 0x17], dl
push eax
mov ecx, esi
call fcn.10003b49
mov eax, esi
call fcn.1003dd0b
ret 4