Function at 0x1000333f
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push 0x48
mov eax, 0x10039a3d
call fcn.10039131
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x28]
and dword [ebp - 0x54], 0
push 0x1003d65f
mov dword [ebp - 0x2c], ebx
call fcn.1000409e
xor edx, edx
mov dword [ebp - 4], edx
mov esi, dword [0x100500a0]
test esi, esi
jne 0x10003382
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], edx
mov byte [ebx], dl
jmp 0x10003a90
cmp byte [0x100500bb], dl
je 0x100033cb
mov ecx, 0x10b8134
call fcn.1000b9e3
mov edi, eax
test edi, edi
je 0x100033c9
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 4
push edi
call ebx
test eax, eax
jne 0x100033c6
push 4
add edi, 0xc88
push edi
call ebx
mov ebx, dword [ebp - 0x2c]
xor edx, edx
test eax, eax
jne 0x100033cb
mov ax, word [edi]
mov word [esi + 0x40], ax
jmp 0x100033cb
mov ebx, dword [ebp - 0x2c]
xor edx, edx
movzx eax, word [esi + 0x40]
cmp eax, 0x37
ja 0x10003747
je 0x1000372b
cmp eax, 0x21
ja 0x100035cc
je 0x1000359c
cmp eax, 0x15
ja 0x10003508
je 0x100034d0
sub eax, 1
je 0x100034ae
sub eax, 1
je 0x1000348f
sub eax, 9
je 0x1000344d
sub eax, 1
jne 0x10003a82
movaps xmm0, xmmword [0x10047770]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xf
jb 0x1000342c
mov byte [ebp - 0x3c], dl
lea ecx, [ebp - 0x4b]
call fcn.10004086
push eax
lea eax, [ebp - 0x4b]
jmp 0x10003a79
mov cl, 0x7d
mov dword [ebp - 0x38], 0xf1c367d
mov dword [ebp - 0x34], 0x385d0e08
mov eax, edx
mov dword [ebp - 0x30], 0x131c110e
mov word [ebp - 0x2c], 9
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xc
jae 0x1000347b
mov cl, byte [ebp - 0x38]
jmp 0x1000346c
mov byte [ebp - 0x2b], dl
lea ecx, [ebp - 0x37]
call fcn.10004086
push eax
lea eax, [ebp - 0x37]
jmp 0x10003a79
movaps xmm0, xmmword [0x100478f0]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xf
jb 0x1000349f
jmp 0x10003439
movaps xmm0, xmmword [0x10047f90]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xf
jb 0x100034be
jmp 0x10003439
mov cl, 0x6f
mov dword [ebp - 0x34], 0x1d00226f
mov dword [ebp - 0x30], 0x1000b0e
mov eax, edx
mov byte [ebp - 0x2c], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x100034f4
mov cl, byte [ebp - 0x34]
jmp 0x100034e5
mov byte [ebp - 0x2c], dl
lea ecx, [ebp - 0x33]
call fcn.10004086
push eax
lea eax, [ebp - 0x33]
jmp 0x10003a79
sub eax, 0x1e
je 0x1000356a
sub eax, 1
je 0x10003546
sub eax, 1
jne 0x10003a82
movaps xmm0, xmmword [0x10047a10]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov word [ebp - 0x3c], 0x2a2a
mov byte [ebp - 0x3a], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0x11
jb 0x10003531
mov byte [ebp - 0x3a], dl
jmp 0x1000343c
mov cl, 0x7b
mov dword [ebp - 0x34], 0x1d562d7b
mov dword [ebp - 0x30], 0xf081409
mov eax, edx
mov byte [ebp - 0x2c], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x100034f4
mov cl, byte [ebp - 0x34]
jmp 0x1000355b
mov cl, 0x4e
mov dword [ebp - 0x38], 0x222b0a4e
mov dword [ebp - 0x34], 0xd6e3d21
mov eax, edx
mov dword [ebp - 0x30], 0x223a3d2f
mov word [ebp - 0x2c], 0x2b
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xc
jae 0x1000347b
mov cl, byte [ebp - 0x38]
jmp 0x10003589
mov cl, 0x17
mov dword [ebp - 0x34], 0x7b725f17
mov dword [ebp - 0x30], 0x7556377b
mov eax, edx
mov dword [ebp - 0x2c], 0x64646e
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 0xa
jae 0x100035c4
mov cl, byte [ebp - 0x34]
jmp 0x100035b5
mov byte [ebp - 0x29], dl
jmp 0x100034f7
sub eax, 0x22
je 0x10003700
sub eax, 1
je 0x100036de
sub eax, 0xd
je 0x100036ab
sub eax, 3
je 0x10003679
sub eax, 1
je 0x10003657
sub eax, 1
je 0x10003625
sub eax, 1
jne 0x10003a82
movaps xmm0, xmmword [0x10048000]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xf
jb 0x10003613
jmp 0x10003439
mov cl, 0x6c
mov dword [ebp - 0x38], 0xe032b6c
mov dword [ebp - 0x34], 0x4c020500
mov eax, edx
mov dword [ebp - 0x30], 0x2091e2d
mov word [ebp - 0x2c], 0xd
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xc
jae 0x1000347b
mov cl, byte [ebp - 0x38]
jmp 0x10003644
movaps xmm0, xmmword [0x10047d40]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xf
jb 0x10003667
jmp 0x10003439
mov cl, 0x36
mov dword [ebp - 0x34], 0x55447936
mov dword [ebp - 0x30], 0x53447716
mov eax, edx
mov word [ebp - 0x2c], 0x5758
mov byte [ebp - 0x2a], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 9
jae 0x100036a3
mov cl, byte [ebp - 0x34]
jmp 0x10003694
mov byte [ebp - 0x2a], dl
jmp 0x100034f7
mov cl, 0x31
mov dword [ebp - 0x38], 0x45507331
mov dword [ebp - 0x34], 0x57545d45
mov eax, edx
mov dword [ebp - 0x30], 0x555d5458
mov byte [ebp - 0x2c], dl
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xb
jae 0x100036d6
mov cl, byte [ebp - 0x38]
jmp 0x100036c7
mov byte [ebp - 0x2c], dl
jmp 0x1000347e
movaps xmm0, xmmword [0x10047360]
mov ecx, edx
movups xmmword [ebp - 0x38], xmm0
mov al, byte [ebp - 0x38]
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xe
jb 0x100036eb
mov byte [ebp - 0x29], dl
jmp 0x1000347e
mov cl, 0x5c
mov dword [ebp - 0x38], 0x3d2e185c
mov dword [ebp - 0x34], 0x7c32333b
mov eax, edx
mov dword [ebp - 0x30], 0x392a3d1f
mov byte [ebp - 0x2c], dl
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xb
jae 0x100036d6
mov cl, byte [ebp - 0x38]
jmp 0x1000371c
movaps xmm0, xmmword [0x10047590]
mov ecx, edx
movups xmmword [ebp - 0x38], xmm0
mov al, byte [ebp - 0x38]
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xe
jb 0x10003738
jmp 0x100036f8
cmp eax, 0x51
ja 0x100038ff
je 0x100038d3
cmp eax, 0x45
ja 0x10003841
je 0x10003812
sub eax, 0x3d
je 0x100037e0
sub eax, 1
je 0x100037be
sub eax, 1
je 0x1000379f
sub eax, 1
jne 0x10003a82
movaps xmm0, xmmword [0x10047970]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xf
jb 0x1000378d
jmp 0x10003439
movaps xmm0, xmmword [0x100475d0]
mov ecx, edx
movups xmmword [ebp - 0x38], xmm0
mov al, byte [ebp - 0x38]
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xe
jb 0x100037ac
jmp 0x100036f8
movaps xmm0, xmmword [0x10047650]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xf
jb 0x100037ce
jmp 0x10003439
mov cl, 0x5e
mov dword [ebp - 0x38], 0x2e3f105e
mov dword [ebp - 0x34], 0x7e2d3b37
mov eax, edx
mov dword [ebp - 0x30], 0x392c3119
mov word [ebp - 0x2c], 0x3b
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xc
jae 0x1000347b
mov cl, byte [ebp - 0x38]
jmp 0x100037ff
mov cl, 0x64
mov dword [ebp - 0x34], 0xb0a3764
mov dword [ebp - 0x30], 0x5334413
mov eax, edx
mov word [ebp - 0x2c], 0x16
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 8
jae 0x10003839
mov cl, byte [ebp - 0x34]
jmp 0x1000382a
mov byte [ebp - 0x2b], dl
jmp 0x100034f7
sub eax, 0x47
je 0x100038a4
sub eax, 1
je 0x1000387c
sub eax, 1
jne 0x10003a82
movaps xmm0, xmmword [0x10047730]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov word [ebp - 0x3c], 0x1f
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0x10
jb 0x10003867
mov byte [ebp - 0x3b], dl
jmp 0x1000343c
mov cl, 0x28
mov dword [ebp - 0x34], 0x4c5a6928
mov dword [ebp - 0x30], 0x45494d5a
mov eax, edx
mov byte [ebp - 0x2c], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x100034f4
mov cl, byte [ebp - 0x34]
jmp 0x10003891
mov cl, 0x66
mov dword [ebp - 0x38], 0x8093466
mov dword [ebp - 0x34], 0x460d1407
mov eax, edx
mov dword [ebp - 0x30], 0x208072a
mov byte [ebp - 0x2c], dl
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xb
jae 0x100036d6
mov cl, byte [ebp - 0x38]
jmp 0x100038c0
movaps xmm0, xmmword [0x10047a00]
mov ecx, edx
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x1c753134
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x13
jb 0x100038ea
mov byte [ebp - 0x3c], dl
jmp 0x10003a6d
sub eax, 0x52
je 0x10003a43
sub eax, 1
je 0x10003a14
sub eax, 1
je 0x100039ee
sub eax, 3
je 0x100039c6
sub eax, 5
je 0x10003991
sub eax, 1
je 0x10003958
sub eax, 1
jne 0x10003a82
movaps xmm0, xmmword [0x10047370]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0xe
jb 0x10003943
mov byte [ebp - 0x3d], dl
jmp 0x1000343c
mov cl, 0x6b
mov dword [ebp - 0x38], 0x218226b
mov dword [ebp - 0x34], 0x5040407
mov eax, edx
mov dword [ebp - 0x30], 0xe192a4b
mov word [ebp - 0x2c], 0xa05
mov byte [ebp - 0x2a], dl
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xd
jae 0x10003989
mov cl, byte [ebp - 0x38]
jmp 0x1000397a
mov byte [ebp - 0x2a], dl
jmp 0x1000347e
mov cl, 0x1a
mov dword [ebp - 0x30], 0x73684a1a
mov dword [ebp - 0x2c], 0x747569
mov eax, edx
xor byte [ebp + eax - 0x2f], cl
inc eax
cmp eax, 6
jae 0x100039b2
mov cl, byte [ebp - 0x30]
jmp 0x100039a3
lea ecx, [ebp - 0x2f]
mov byte [ebp - 0x29], dl
call fcn.10004086
push eax
lea eax, [ebp - 0x2f]
jmp 0x10003a79
movaps xmm0, xmmword [0x10047ca0]
mov ecx, edx
movups xmmword [ebp - 0x4c], xmm0
mov word [ebp - 0x3c], 0x297d
mov byte [ebp - 0x3a], dl
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0x11
jb 0x100039dc
jmp 0x1000353e
movaps xmm0, xmmword [0x10047b70]
mov ecx, edx
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x7a695f
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x12
jb 0x10003a02
mov byte [ebp - 0x3d], dl
jmp 0x10003a6d
movaps xmm0, xmmword [0x10048290]
mov ecx, edx
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x553c787d
mov word [ebp - 0x3c], 0x5555
mov byte [ebp - 0x3a], dl
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x15
jb 0x10003a31
mov byte [ebp - 0x3a], dl
jmp 0x10003a6d
movaps xmm0, xmmword [0x10047b40]
mov ecx, edx
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x1b723633
mov word [ebp - 0x3c], 0x1b
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x14
jb 0x10003a5d
mov byte [ebp - 0x3b], dl
lea ecx, [ebp - 0x4f]
call fcn.10004086
push eax
lea eax, [ebp - 0x4f]
push eax
lea ecx, [ebp - 0x28]
call fcn.10004017
and dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
lea eax, [ebp - 0x28]
mov ecx, ebx
push eax
call fcn.10003b0e
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.10003f4a
mov eax, ebx
call fcn.100390db
ret 4