Function at 0x42603a
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44c
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x4c], 0xc356c153
mov dword [esp + 0x50], 0xc7a7c5a1
mov dword [esp + 0x54], 0xcbe4c9a5
mov dword [esp + 0x58], 0xcf56cda9
mov dword [esp + 0x5c], 0xf3f2f195
mov word [esp + 0x60], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
mov esi, ecx
xor esi, 0x30
mov edx, eax
and edx, 0x1e
sub edx, esi
xor dl, byte [esp + ecx + 0x4c]
add dl, 0xf0
mov byte [esp + ecx + 0x4c], dl
inc ecx
add eax, 2
cmp ecx, 0x16
jne case.default.0x426033
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x28]
push eax
call fcn.004395d0
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445d44]
lea ecx, [esp + 0x28]
push 0x410
call fcn.00439860
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x445d4c]
mov dword [esp + 0x4c], 0xea33f8ed
mov dword [esp + 0x50], 0xe0fa15f0
mov dword [esp + 0x54], 0xf4fdf311
mov dword [esp + 0x58], 0xff6fe1d
mov dword [esp + 0x5c], 0xf01b220e
mov dword [esp + 0x60], 0x7e4dee5
mov dword [esp + 0x64], 0x2f9e6fa
mov dword [esp + 0x68], 0xed70ce3
mov dword [esp + 0x6c], 0xeee0fee2
mov dword [esp + 0x70], 0x16f3dde1
mov dword [esp + 0x74], 0x8bdaf1f1
mov word [esp + 0x78], 0
mov byte [esp + 0x7a], 0
mov eax, 0xfa97986c
mov ecx, 0x13
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x56867e0]
mov edi, ecx
and edi, 0x2f
mov esi, eax
and esi, 0xb20098d0
or esi, edi
xor esi, eax
xor esi, edx
xor esi, 0x4897002f
and esi, eax
mov ebx, esi
and ebx, 0xfa9798fd
mov ebp, esi
and ebp, 2
mov edi, esi
or edi, 0xfffffffd
inc edi
imul edi, ebx
or esi, 2
imul esi, ebp
add edi, edx
sub edi, esi
add edi, eax
mov edx, edi
and edx, 0x63
add edx, edx
xor edi, 0x1c
sub edx, edi
mov byte [esp + eax + 0x56867e0], dl
inc eax
dec ecx
cmp eax, 0xfa97989b
jne 0x4260d0
lea eax, [esp + 0x40]
lea ecx, [esp + 0x28]
push 0
push 0x2b
lea edi, [esp + 0x54]
push edi
push eax
call fcn.00439db0
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
xor eax, eax
cmp ebp, ebx
sete al
jmp dword [eax*4 + 0x445d54]
mov ecx, ebx
xor ecx, ebp
mov eax, ebp
not eax
and eax, ebx
add eax, eax
sub eax, ecx
sar eax, 2
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.00409730
add esp, 4
mov dword [esp + 0x24], 0
mov ecx, dword [case.0x426033.7]
mov dword [esp + 0x20], eax
mov dword [esp + 4], eax
mov dword [esp + 0x3c], ebx
jmp case.0x426033.5
jmp ecx
xor eax, eax
cmp ebp, ebx
setne al
jmp dword [eax*4 + 0x445d6c]
mov esi, dword [ebp]
push 0x400
push 0
push edi
call fcn.004097b0
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [esp + 0x28]
push eax
push 0x400
push edi
push esi
call fcn.00439cd0
mov ecx, dword [case.0x426033.20]
nop
nop
jmp ecx
cmp eax, 0xc0000000
setae al
cmp dword [esp + 0x18], 0
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x445d9c]
mov ecx, dword [0x445dac]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, 1
jmp ecx
jmp dword [0x445d80]
mov ebx, dword [esp + 0x24]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x445d84]
jmp dword [0x445e14]
xor esi, esi
test ebp, ebp
jne 0x426681
jmp 0x42668e
mov eax, dword [esp + 4]
mov byte [eax], 0
mov dword [esp + 0x4c], 0x838689d9
mov dword [esp + 0x50], 0x9ff38a8d
mov dword [esp + 0x54], 0x809c8289
mov dword [esp + 0x58], 0x9686e2df
mov dword [esp + 0x5c], 0xebd59ce9
mov dword [esp + 0x60], 0x919f9297
mov dword [esp + 0x64], 0xb7b2d38f
mov word [esp + 0x68], 0x3db0
mov dword [esp + 0x6a], 0
lea eax, [esp + 0x4c]
mov ecx, 0x993b5339
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [eax]
xor edi, ecx
mov esi, 0x20
sub esi, edi
mov edx, edi
and edx, 1
add edi, 0x1d75fdf
mov ebx, edi
not ebx
and edi, 0x87
and esi, 0x78
or esi, edi
and ebx, 1
or ebx, esi
xor ebx, 0x86
add ebx, edx
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0x993b5317
jne 0x426600
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 4]
sub esi, edx
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x460]
push esi
push edx
push eax
call fcn.0040a5c0
mov ebx, eax
jmp dword [0x445e14]
cmp ebp, ebx
je 0x42668e
push ebp
call fcn.00409740
add esp, 4
mov ebx, esi
lea ecx, [esp + 0x28]
call fcn.004399c0
mov eax, ebx
add esp, 0x44c
pop esi
pop edi
pop ebx
pop ebp
ret