Function at 0x10003730
Capabilities:
Encode data using xor

Disassembly:
jmp 0x10003740
sub esp, 0x20
push ebx
push ebp
mov al, 1
push esi
push edi
xor ecx, ecx
mov byte [esp + 0x10], al
mov edx, dword [esp + 0x10]
mov bl, al
and edx, 0xff
mov byte [ecx + 0x1001ed38], al
mov byte [edx + 0x1001ac10], cl
mov dl, al
and dl, 0x80
neg dl
sbb dl, dl
and edx, 0x1b
shl bl, 1
xor dl, bl
xor al, dl
inc ecx
cmp ecx, 0x100
mov byte [esp + 0x10], al
jb 0x1000374f
mov al, 1
mov byte [0x1001ac11], 0
mov byte [esp + 0x10], al
mov ecx, 0x1001ad10
mov edx, dword [esp + 0x10]
and edx, 0xff
mov dword [ecx], edx
mov dl, al
and dl, 0x80
neg dl
sbb dl, dl
add ecx, 4
and edx, 0x1b
shl al, 1
xor al, dl
cmp ecx, 0x1001ad38
mov byte [esp + 0x10], al
jb 0x10003798
xor eax, eax
mov dword [esp + 0x14], eax
test eax, eax
je 0x100037e0
xor ecx, ecx
mov edx, 0x1001ee37
mov cl, byte [eax + 0x1001ac10]
sub edx, ecx
mov dl, byte [edx]
jmp 0x100037e2
xor dl, dl
mov al, dl
mov cl, dl
shr al, 6
shl cl, 2
or al, cl
mov cl, dl
mov bl, dl
shr cl, 7
shl bl, 1
or cl, bl
xor al, cl
mov cl, al
mov bl, al
shr cl, 6
shl bl, 2
or cl, bl
xor cl, al
mov eax, dword [esp + 0x14]
xor cl, dl
xor cl, 0x63
mov byte [esp + 0x10], cl
mov byte [eax + 0x1001ee38], cl
mov edx, dword [esp + 0x10]
and edx, 0xff
mov byte [edx + 0x1001ef38], al
inc eax
cmp eax, 0x100
mov dword [esp + 0x14], eax
jb 0x100037c9
xor eax, eax
mov dl, byte [eax + 0x1001ee38]
mov bl, byte [0x1001ac12]
mov byte [esp + 0x10], dl
mov esi, dword [esp + 0x10]
and esi, 0xff
mov ecx, esi
mov edi, esi
shr ecx, 0x18
shl edi, 8
or ecx, edi
mov dword [eax*4 + 0x1001ad38], esi
mov dword [eax*4 + 0x1001b138], ecx
mov ecx, esi
mov edi, esi
shr ecx, 0x10
shl edi, 0x10
or ecx, edi
mov edi, esi
mov dword [eax*4 + 0x1001b538], ecx
mov ecx, esi
shl ecx, 0x18
shr edi, 8
or ecx, edi
test dl, dl
mov dword [eax*4 + 0x1001b938], ecx
je 0x100038c1
mov cl, byte [esi + 0x1001ac10]
add cl, bl
mov byte [esp + 0x18], cl
cmp cl, bl
mov edi, dword [esp + 0x18]
sbb ecx, ecx
and edi, 0xff
neg ecx
xor ebx, ebx
mov bl, byte [ecx + edi + 0x1001ed38]
mov edi, ebx
jmp 0x100038c3
xor edi, edi
test dl, dl
je 0x100038f6
mov cl, byte [esi + 0x1001ac10]
mov dl, byte [0x1001ac13]
add cl, dl
mov byte [esp + 0x1c], cl
cmp cl, dl
mov ecx, dword [esp + 0x1c]
sbb edx, edx
and ecx, 0xff
neg edx
xor ebx, ebx
mov bl, byte [edx + ecx + 0x1001ed38]
mov ecx, ebx
jmp 0x100038f8
xor ecx, ecx
shl ecx, 8
or ecx, esi
shl ecx, 8
or ecx, esi
shl ecx, 8
or ecx, edi
mov edx, ecx
mov esi, ecx
shr edx, 0x18
shl esi, 8
or edx, esi
mov dword [eax*4 + 0x1001bd38], ecx
mov dword [eax*4 + 0x1001c138], edx
mov edx, ecx
mov esi, ecx
shr edx, 0x10
shl esi, 0x10
or edx, esi
mov dword [eax*4 + 0x1001c538], edx
mov edx, ecx
shl edx, 0x18
shr ecx, 8
or edx, ecx
mov dword [eax*4 + 0x1001c938], edx
mov dl, byte [eax + 0x1001ef38]
mov byte [esp + 0x10], dl
mov esi, dword [esp + 0x10]
and esi, 0xff
mov ecx, esi
mov edi, esi
shr ecx, 0x18
shl edi, 8
or ecx, edi
mov dword [eax*4 + 0x1001cd38], esi
mov dword [eax*4 + 0x1001d138], ecx
mov ecx, esi
mov edi, esi
shr ecx, 0x10
shl edi, 0x10
or ecx, edi
mov edi, esi
mov dword [eax*4 + 0x1001d538], ecx
mov ecx, esi
shl ecx, 0x18
shr edi, 8
or ecx, edi
test dl, dl
mov dword [eax*4 + 0x1001d938], ecx
je 0x100039ce
mov cl, byte [esi + 0x1001ac10]
mov bl, byte [0x1001ac1e]
add cl, bl
mov byte [esp + 0x20], cl
cmp cl, bl
mov edi, dword [esp + 0x20]
sbb ecx, ecx
and edi, 0xff
neg ecx
xor ebx, ebx
mov bl, byte [ecx + edi + 0x1001ed38]
mov dword [esp + 0x14], ebx
jmp 0x100039d6
mov dword [esp + 0x14], 0
test dl, dl
je 0x10003a09
mov cl, byte [esi + 0x1001ac10]
mov bl, byte [0x1001ac19]
add cl, bl
mov byte [esp + 0x24], cl
cmp cl, bl
mov edi, dword [esp + 0x24]
sbb ecx, ecx
and edi, 0xff
neg ecx
xor ebx, ebx
mov bl, byte [ecx + edi + 0x1001ed38]
mov ebp, ebx
jmp 0x10003a0b
xor ebp, ebp
test dl, dl
je 0x10003a3e
mov cl, byte [esi + 0x1001ac10]
mov bl, byte [0x1001ac1d]
add cl, bl
mov byte [esp + 0x28], cl
cmp cl, bl
mov edi, dword [esp + 0x28]
sbb ecx, ecx
and edi, 0xff
neg ecx
xor ebx, ebx
mov bl, byte [ecx + edi + 0x1001ed38]
mov edi, ebx
jmp 0x10003a40
xor edi, edi
test dl, dl
je 0x10003a73
mov cl, byte [esi + 0x1001ac10]
mov dl, byte [0x1001ac1b]
add cl, dl
mov byte [esp + 0x2c], cl
cmp cl, dl
mov ecx, dword [esp + 0x2c]
sbb edx, edx
and ecx, 0xff
neg edx
xor ebx, ebx
mov bl, byte [edx + ecx + 0x1001ed38]
mov ecx, ebx
jmp 0x10003a75
xor ecx, ecx
shl ecx, 8
or ecx, edi
shl ecx, 8
or ecx, ebp
mov ebp, dword [esp + 0x14]
shl ecx, 8
or ecx, ebp
mov edx, ecx
mov esi, ecx
shr edx, 0x18
shl esi, 8
or edx, esi
mov dword [eax*4 + 0x1001dd38], ecx
mov dword [eax*4 + 0x1001e138], edx
mov edx, ecx
mov esi, ecx
shr edx, 0x10
shl esi, 0x10
or edx, esi
mov dword [eax*4 + 0x1001e538], edx
mov edx, ecx
shl edx, 0x18
shr ecx, 8
or edx, ecx
mov dword [eax*4 + 0x1001e938], edx
inc eax
cmp eax, 0x100
jb 0x1000383a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret