Function at 0x42d040
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9f0
mov esi, esp
push 0x1000
call fcn.00408ac0
add esp, 4
mov dword [esi + 0x14], eax
mov dword [esi + 0x734], 0x8f5e5436
mov dword [esi + 0x738], 0x7d8aa99d
mov dword [esi + 0x73c], 0x2140
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x8a
xor cl, byte [esi + eax + 0x734]
add cl, 0x4e
mov byte [esi + eax + 0x734], cl
mov edx, eax
xor edx, 0x7ffffffe
mov ecx, eax
or ecx, 1
and ecx, edx
mov edx, eax
or edx, 0xfffffffe
not eax
or eax, 1
and eax, edx
not eax
lea eax, [eax + ecx*2]
cmp eax, 0xc
jb 0x42d090
mov eax, dword [0x4466b4]
mov dword [esi + 8], eax
mov dword [esi + 0x404], 0xb49e80e6
mov dword [esi + 0x408], 0x4e544d41
mov dword [esi + 0x40c], 0x6a44404d
mov dword [esi + 0x410], 0x737b707c
mov word [esi + 0x414], 0xaf86
mov byte [esi + 0x416], 0xce
mov dword [esi + 0x417], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xd5
xor cl, byte [esi + eax + 0x404]
add cl, 0xd7
mov byte [esi + eax + 0x404], cl
inc eax
cmp eax, 0x17
jne 0x42d120
mov eax, dword [str.Dvh8ui__test]
mov dword [esi + 0xc], eax
mov dword [esi + 0x9c], 0x3ec4e7e9
mov dword [esi + 0xa0], 0x3c34e33b
mov dword [esi + 0xa4], 0xd5eef535
mov dword [esi + 0xa8], 0x21caebc1
mov dword [esi + 0xac], 0x3221202b
mov dword [esi + 0xb0], 0x2c2b2226
mov dword [esi + 0xb4], 0xf4942a2e
mov dword [esi + 0xb8], 0x5e25d9f8
mov dword [esi + 0xbc], 0x5549ba8a
mov dword [esi + 0xc0], 0x5c568354
mov dword [esi + 0xc4], 0x89945245
mov dword [esi + 0xc8], 0x42555fa8
mov dword [esi + 0xcc], 0x52415443
mov dword [esi + 0xd0], 0x415d4642
mov dword [esi + 0xd4], 0x545d4b4c
mov dword [esi + 0xd8], 0x74585a57
mov dword [esi + 0xdc], 0xa1b1cd78
mov dword [esi + 0xe0], 0x7a757c94
mov dword [esi + 0xe4], 0xa9bc826f
mov dword [esi + 0xe8], 0x6161748a
mov dword [esi + 0xec], 0x87b6ad78
mov dword [esi + 0xf0], 0xafb26d61
mov dword [esi + 0xf4], 0xa9acbfaf
mov dword [esi + 0xf8], 0x52d0a7aa
mov dword [esi + 0xfc], 0x6d6d7344
mov word [esi + 0x100], 0x435a
mov byte [esi + 0x102], 0x22
mov dword [esi + 0x103], 0
mov edx, 0x98385fa1
mov edi, 0x5e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 4], edi
movzx ecx, byte [esi + edx + 0x67c7a0fb]
lea ebx, [edx + 0x33e3d000]
mov eax, edx
and eax, ecx
mov edi, dword [esi + 4]
and edi, ecx
xor ebx, ecx
add ebx, ecx
mov ecx, ebx
not ecx
add ecx, edi
sub ebx, edi
mov edi, ebx
and edi, 0x4405c810
and ecx, 0x88fa37ef
or ecx, edi
mov edi, dword [esi + 4]
xor ecx, eax
not ebx
and ebx, eax
xor ecx, 0x7705c810
or ebx, ecx
not ebx
mov eax, ebx
and eax, 0xda
or ebx, 0xda
add ebx, eax
inc bl
mov byte [esi + edx + 0x67c7a0fb], bl
inc edx
dec edi
cmp edx, 0x9838600c
jne 0x42d270
movzx eax, byte [esi + 0x9c]
mov edx, dword [esi + 0x14]
mov ebx, edx
test al, al
je 0x42d30b
lea ecx, [esi + 0x9d]
mov ebx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42d300
mov byte [ebx], 0
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
test al, al
je 0x42d32b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42d320
mov byte [ebx], 0
movzx eax, byte [esi + 0x404]
test al, al
je 0x42d34b
lea ecx, [esi + 0x405]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42d340
mov byte [ebx], 0
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
test al, al
je 0x42d36b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42d360
mov byte [ebx], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x42d38b
lea ecx, [esi + 0x735]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42d380
mov byte [ebx], 0
push 0
call fcn.00440100
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x449620]
mov ecx, 0x8a048c81
xor ecx, dword [0x449628]
add ecx, edx
inc ecx
jmp ecx