Function at 0x425670
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x48
cmp byte [esp + 0x60], 0
je 0x4256c0
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [eax + 4]
mov eax, 0xfffffffe
nop
nop
cmp word [ebp + eax + 2], 0
lea eax, [eax + 2]
jne 0x425690
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x4256a0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x1f
test edx, edx
jns 0x4256c7
mov eax, 0xffffffff
jmp 0x4256d0
xor ebx, ebx
jmp 0x425913
add eax, ecx
lea eax, [eax*2 + 0x3e]
push eax
call fcn.00407ff0
add esp, 4
mov esi, eax
movzx ecx, word [ebp]
test cx, cx
je 0x425702
add ebp, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x4256f0
mov word [esp], 0xc19c
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov edx, ecx
or dl, 0xc0
xor byte [esp + ecx], dl
lea ecx, [ecx + ecx*2]
xor ecx, 1
cmp ecx, 2
jb 0x425710
movzx ecx, word [esp]
mov word [eax], cx
mov dword [esp], 0xef22ed30
mov dword [esp + 4], 0xf351f15f
mov dword [esp + 8], 0xf75af555
mov dword [esp + 0xc], 0xfb4ef92b
mov dword [esp + 0x10], 0xff4afd5d
mov dword [esp + 0x14], 0xc31ec165
mov dword [esp + 0x18], 0xc768c50d
mov dword [esp + 0x1c], 0xcb6fc96c
mov dword [esp + 0x20], 0xcf6bcd74
mov dword [esp + 0x24], 0xd30ed174
mov dword [esp + 0x28], 0xd77fd518
mov dword [esp + 0x2c], 0xdb7fd96e
mov dword [esp + 0x30], 0xdf71dd1f
mov dword [esp + 0x34], 0xa30fa10d
mov dword [esp + 0x38], 0xa7a6a578
mov ecx, 0x8c
mov ebp, 0x73
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x8c]
mov edx, ebp
xor edx, ecx
and edx, edi
xor edx, ecx
add dl, 0xa0
mov byte [esp + ecx - 0x8c], dl
inc ecx
dec ebp
cmp ebp, 0x37
jne 0x4257b0
add eax, 2
movzx ecx, word [ebx]
test cx, cx
je 0x4257f1
add ebx, 2
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x4257e0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x425821
lea edx, [esp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425810
mov word [eax], 0
mov dword [esp + 0x3c], 0xbf50bd56
mov dword [esp + 0x40], 0x832f8125
mov dword [esp + 0x44], 0x87868528
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
and edi, 0x18
mov edx, ecx
xor edx, 0x5c
add edx, edi
xor dl, byte [esp + ecx + 0x3c]
add dl, 0x20
mov byte [esp + ecx + 0x3c], dl
inc ecx
add eax, 2
cmp ecx, 0xc
jne 0x425850
mov dword [esp], 0xe585e3af
mov dword [esp + 4], 0xe984e78f
mov dword [esp + 8], 0xedc3eb79
mov dword [esp + 0xc], 0x1179ef99
mov dword [esp + 0x10], 0x1570137c
mov dword [esp + 0x14], 0x198f1779
mov dword [esp + 0x18], 0x1d3c1b89
mov dword [esp + 0x1c], 0x1611f53
mov dword [esp + 0x20], 0x568036b
mov word [esp + 0x24], 0x706
xor eax, eax
mov ecx, eax
add cl, 0x72
xor cl, byte [esp + eax]
add cl, 0x70
mov byte [esp + eax], cl
mov ecx, eax
and ecx, 0xd
xor eax, 0x14fae04d
lea eax, [eax + ecx*2]
add eax, 0xeb051fb4
cmp eax, 0x26
jb 0x4258c0
lea eax, [esp + 0x3c]
mov ecx, esp
push 0
push 4
push 0xc00000
push eax
push esi
push ecx
mov eax, dword [esp + 0x80]
push dword [eax]
call fcn.00421270
add esp, 0x1c
mov ebx, eax
push esi
call fcn.00408000
add esp, 4
mov eax, ebx
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret 0x10