Function at 0x1000515b
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003bde8
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x10051014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x2c]
push 0
push 0x10040abf
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.100027c0
mov dword [ebp - 4], 0
mov esi, dword [0x100536fc]
test esi, esi
jne 0x10004ef8
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.10005780
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x100055ba
inc ecx
push ecx
jmp 0x100055b2
cmp byte [0x10053783], 0
je 0x10004f37
mov ecx, 0xd78c9c
call fcn.10012630
mov edi, eax
test edi, edi
je 0x10004f34
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 4
push edi
call ebx
test eax, eax
jne 0x10004f34
push 4
add edi, 0xb7c
push edi
call ebx
test eax, eax
jne 0x10004f34
mov al, byte [edi]
mov byte [esi + 0x3a], al
mov edi, dword [ebp - 0x30]
movzx eax, byte [esi + 0x3a]
dec eax
cmp eax, 0x5d
ja case.0x10004f4c.3
movzx eax, byte [eax + 0x10005664]
jmp dword [eax*4 + 0x100055dc]
movaps xmm0, xmmword [0x100495b0]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x40], 0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xf
jb 0x10004f64
mov byte [ebp - 0x40], 0
jmp 0x10005591
movaps xmm0, xmmword [0x10048ed0]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x40], 0
nop dword [eax + eax]
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xf
jb 0x10004f90
mov byte [ebp - 0x40], 0
jmp 0x10005591
mov cl, 9
mov dword [ebp - 0x3c], 0x7b684209
mov dword [ebp - 0x38], 0x4c297a7c
xor eax, eax
mov dword [ebp - 0x34], 0x6768657a
mov word [ebp - 0x30], 0x7d
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xc
jae 0x10004fd4
mov cl, byte [ebp - 0x3c]
jmp 0x10004fc5
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x3b]
jmp 0x10005594
movaps xmm0, xmmword [0x100492a0]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x40], 0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xf
jb 0x10004ff1
mov byte [ebp - 0x40], 0
jmp 0x10005591
mov cl, 0x2d
mov bh, 0x42
mov al, 0xf
mov dl, 0x30
mov bl, 0x23
mov ah, 0x26
mov ch, cl
mov dh, 0x2c
xor al, bh
mov byte [ebp - 0x30], 0
xor cl, bh
mov byte [ebp - 0x38], bh
xor dl, bh
mov byte [ebp - 0x37], al
xor bl, bh
mov byte [ebp - 0x30], 0
xor ah, bh
xor ch, bh
xor dh, bh
mov byte [ebp - 0x36], cl
mov byte [ebp - 0x33], ah
lea eax, [ebp - 0x37]
mov byte [ebp - 0x31], dh
mov byte [ebp - 0x32], ch
mov byte [ebp - 0x34], bl
mov byte [ebp - 0x35], dl
jmp 0x10005594
mov cl, 0x28
mov dword [ebp - 0x3c], 0x444d6c28
mov dword [ebp - 0x38], 0x6b085b47
xor eax, eax
mov dword [ebp - 0x34], 0x445c5b49
mov word [ebp - 0x30], 0x4d
nop dword [eax]
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xc
jae 0x10004fd4
mov cl, byte [ebp - 0x3c]
jmp 0x10005070
mov bh, 6
mov al, 0x50
mov cl, 0x2b
mov dl, 0x60
mov bl, 0x74
mov ah, 0x69
mov ch, 0x75
mov dh, 0x72
jmp 0x10005017
movaps xmm0, xmmword [0x10049080]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x40], 0x2222
mov byte [ebp - 0x3e], 0
nop dword [eax]
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x11
jb 0x100050b0
mov byte [ebp - 0x3e], 0
jmp 0x10005591
xor al, al
mov byte [ebp - 0x38], 0x48
mov byte [ebp - 0x2d], al
mov cl, 0x2d
xor al, byte [ebp - 0x38]
mov dl, 0x24
xor cl, byte [ebp - 0x38]
mov bl, dl
mov byte [ebp - 0x37], al
mov ah, 0x68
mov byte [ebp - 0x56], 0x3b
mov ch, 9
mov al, byte [ebp - 0x56]
mov dh, 0x2a
mov byte [ebp - 0x36], cl
mov bh, 0x31
mov cl, byte [ebp - 0x38]
xor al, cl
mov byte [ebp - 0x55], 0x3b
mov byte [ebp - 0x2f], al
xor bh, cl
mov al, byte [ebp - 0x55]
xor dl, cl
xor bl, cl
mov byte [ebp - 0x30], bh
xor ah, cl
mov byte [ebp - 0x2d], 0
xor ch, cl
xor dh, cl
xor al, cl
mov byte [ebp - 0x2e], al
jmp 0x10005036
mov cl, 0x47
mov dword [ebp - 0x3c], 0x26350347
mov dword [ebp - 0x38], 0x67292820
xor eax, eax
mov dword [ebp - 0x34], 0x22312604
mov byte [ebp - 0x30], 0
nop dword [eax]
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xb
jae 0x1000514f
mov cl, byte [ebp - 0x3c]
jmp 0x10005140
mov byte [ebp - 0x30], 0
lea eax, [ebp - 0x3b]
jmp 0x10005594
movaps xmm0, xmmword [0x10048cb0]
xor ecx, ecx
movups xmmword [ebp - 0x3c], xmm0
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xe
jb 0x10005168
mov byte [ebp - 0x2d], 0
lea eax, [ebp - 0x3b]
jmp 0x10005594
mov cl, 0x68
mov dword [ebp - 0x3c], 0x1c092a68
mov dword [ebp - 0x38], 0xe0d041c
xor eax, eax
mov dword [ebp - 0x34], 0xc040d01
mov byte [ebp - 0x30], 0
nop
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xb
jae 0x1000514f
mov cl, byte [ebp - 0x3c]
jmp 0x100051a0
mov byte [ebp - 0x38], 0x61
mov al, 0x2e
xor al, byte [ebp - 0x38]
mov cl, 0x13
mov byte [ebp - 0x37], al
mov ch, cl
mov al, byte [ebp - 0x38]
mov dl, 2
mov bl, 0x41
mov byte [ebp - 0x55], 0
mov ah, 0x20
mov byte [ebp - 0x2e], 0
mov dh, 4
mov byte [ebp - 0x2e], 0
mov bh, 0xf
xor cl, al
xor bh, al
xor dl, al
xor bl, al
mov byte [ebp - 0x30], bh
xor ah, al
xor ch, al
xor dh, al
mov al, byte [ebp - 0x55]
xor al, byte [ebp - 0x38]
mov byte [ebp - 0x2f], al
jmp 0x10005033
movaps xmm0, xmmword [0x100491b0]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x40], 0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xf
jb 0x10005208
mov byte [ebp - 0x40], 0
jmp 0x10005591
mov cl, 0x10
mov dword [ebp - 0x3c], 0x727f5710
mov dword [ebp - 0x38], 0x307e797c
xor eax, eax
mov dword [ebp - 0x34], 0x7e756251
mov word [ebp - 0x30], 0x71
nop dword [eax]
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xc
jae 0x10004fd4
mov cl, byte [ebp - 0x3c]
jmp 0x10005240
movaps xmm0, xmmword [0x100491a0]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x40], 0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xf
jb 0x10005264
mov byte [ebp - 0x40], 0
jmp 0x10005591
movaps xmm0, xmmword [str.C_b____c]
xor ecx, ecx
movups xmmword [ebp - 0x3c], xmm0
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xe
jb 0x10005287
mov byte [ebp - 0x2d], 0
lea eax, [ebp - 0x3b]
jmp 0x10005594
mov cl, 0x20
mov dword [ebp - 0x3c], 0x50416e20
mov dword [ebp - 0x38], 0x534549
xor eax, eax
mov dword [ebp - 0x34], 0x47524f67
mov word [ebp - 0x30], 0x45
nop
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xc
jae 0x10004fd4
mov cl, byte [ebp - 0x3c]
jmp 0x100052c0
movaps xmm0, xmmword [0x10049550]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x40], 0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xf
jb 0x100052e4
mov byte [ebp - 0x40], 0
jmp 0x10005591
movaps xmm0, xmmword [0x10048c20]
xor ecx, ecx
movups xmmword [ebp - 0x3c], xmm0
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xe
jb 0x10005307
mov byte [ebp - 0x2d], 0
lea eax, [ebp - 0x3b]
jmp 0x10005594
movaps xmm0, xmmword [0x10049170]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x40], 0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xf
jb 0x10005331
mov byte [ebp - 0x40], 0
jmp 0x10005591
mov byte [ebp - 0x38], 0x2b
mov al, 0x78
xor al, byte [ebp - 0x38]
mov cl, 0x45
mov byte [ebp - 0x37], al
mov dl, 0x44
mov al, byte [ebp - 0x38]
mov bl, 0x5c
mov ah, 0xb
mov byte [ebp - 0x2f], 0
mov ch, 0x7c
mov byte [ebp - 0x2f], 0
mov dh, 0x4a
mov bh, 0x59
xor cl, al
xor dl, al
xor bl, al
xor ah, al
xor ch, al
xor dh, al
xor bh, al
mov byte [ebp - 0x30], bh
jmp 0x10005033
mov cl, 0x54
mov dword [ebp - 0x3c], 0x3a3b0654
mov dword [ebp - 0x38], 0x743f2635
xor eax, eax
mov dword [ebp - 0x34], 0x303a3518
mov byte [ebp - 0x30], 0
nop
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xb
jae 0x1000514f
mov cl, byte [ebp - 0x3c]
jmp 0x100053a0
mov cl, 0x4d
mov bh, 0x3f
mov al, 0x7e
mov dl, 0x5b
mov bl, cl
mov ah, 0x5a
mov ch, 0x5e
mov dh, 0x52
jmp 0x10005017
movaps xmm0, xmmword [str.b0_r_f]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x40], 7
nop dword [eax + eax]
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x10
jb 0x100053e0
mov byte [ebp - 0x3f], 0
jmp 0x10005591
movaps xmm0, xmmword [0x10049340]
xor ecx, ecx
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0x741d595c
mov byte [ebp - 0x40], 0
nop
mov al, byte [ebp - 0x54]
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0x13
jb 0x10005410
mov byte [ebp - 0x40], 0
lea eax, [ebp - 0x53]
jmp 0x10005594
movaps xmm0, xmmword [0x10048f70]
xor ecx, ecx
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0x264f0b0e
mov word [ebp - 0x40], 0x26
mov al, byte [ebp - 0x54]
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0x14
jb 0x10005443
mov byte [ebp - 0x3f], 0
lea eax, [ebp - 0x53]
jmp 0x10005594
movaps xmm0, xmmword [0x10049560]
xor ecx, ecx
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0x59307471
mov word [ebp - 0x40], 0x5959
mov byte [ebp - 0x3e], 0
nop word [eax + eax]
mov al, byte [ebp - 0x54]
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0x15
jb 0x10005480
mov byte [ebp - 0x3e], 0
lea eax, [ebp - 0x53]
jmp 0x10005594
movaps xmm0, xmmword [0x10049520]
xor ecx, ecx
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0x302315
nop dword [eax]
mov al, byte [ebp - 0x54]
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0x12
jb 0x100054b0
mov byte [ebp - 0x41], 0
lea eax, [ebp - 0x53]
jmp 0x10005594
movaps xmm0, xmmword [0x10049090]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x40], 0x3763
mov byte [ebp - 0x3e], 0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x11
jb 0x100054e0
mov byte [ebp - 0x3e], 0
jmp 0x10005591
mov dh, 0x26
mov byte [ebp - 0x2d], 0
mov al, 0x76
mov byte [ebp - 0x34], dh
mov ah, 0x49
mov byte [ebp - 0x2d], 0
mov cl, 0x54
mov dl, 0x4f
mov bl, 0x55
xor al, dh
xor ah, dh
mov byte [ebp - 0x33], al
mov ch, 0x48
mov byte [ebp - 0x2f], ah
xor cl, dh
lea eax, [ebp - 0x33]
xor dl, dh
mov byte [ebp - 0x32], cl
xor bl, dh
mov byte [ebp - 0x31], dl
xor ch, dh
mov byte [ebp - 0x30], bl
mov byte [ebp - 0x2e], ch
jmp 0x10005594
mov cl, 0x63
mov dword [ebp - 0x3c], 0xa102a63
mov dword [ebp - 0x38], 0xd0c0c0f
xor eax, eax
mov dword [ebp - 0x34], 0x6112243
mov word [ebp - 0x30], 0x20d
mov byte [ebp - 0x2e], 0
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 0xd
jae 0x10005564
mov cl, byte [ebp - 0x3c]
jmp 0x10005555
mov byte [ebp - 0x2e], 0
lea eax, [ebp - 0x3b]
jmp 0x10005594
movaps xmm0, xmmword [str.:_V_TQUH]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
nop word [eax + eax]
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xe
jb 0x10005580
mov byte [ebp - 0x41], 0
lea eax, [ebp - 0x4f]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10005960
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.10005780
mov eax, dword [ebp - 0x18]
cmp eax, 0x10
jb 0x100055ba
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.100026c0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10038745
mov esp, ebp
pop ebp
ret 4