Function at 0x436ee3
Capabilities:
Encode data using xor

Disassembly:
jo 0x407d84
add byte [ecx + 0x4958fc1d], cl
add byte [ebx], dh
fisttp dword [ecx + 0x4959001d]
add byte [ecx + 0x4959041d], cl
add byte [ebx + 0x4573c4], bh
dec ecx
add byte [ebx + 0x472946], bh
lea esi, [ebp - 0xc]
mov dword [ebp - 0x40], 0xc0850005
inc esp
dec ebp
test al, 0x8b
push ebp
rol byte [ebx], 0xc9
mov dword [ebp - 0x50], edx
test edx, edx
jle 0x427b9c
lea ecx, [ebp + ecx - 0x20]
push dword [ebp + 0x10]
push 0x4d
xchg esp, eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax]
inc esp
inc ebp
cwde
movzx eax, word [eax]
mov edx, dword [esi - 4]
imul ecx, eax
and dword [ebp - 0x5c], 0
lea eax, [edx + ecx]
cmp eax, edx
jb 0x427b75
cmp eax, ecx
jae 0x427b7c
call [ecx - 0x5c]
test dword [edx + 0x7d83c483], ebp
movsb byte es:[edi], byte [esi]
add byte [ecx + 0x374fc46], cl
cmp dword [ebp - 0x5c], 0
mov dword [esi - 4], eax
je 0x427b88
inc word [esi]
sbb dword [ecx - 0x6c], 0xffffff88
sub dword [ebp - 0x68], 2
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0
jg 0x427b54
mov eax, dword [ebp - 0x44]
inc esi
inc esi
inc dword [ebp - 0x58]
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0
jg 0x427b38
add edi, 0x4343c002
test di, di
jle 0x427bf0
test dword [ebp - 8], 0x80000000
jne 0x427beb
inc dword [eax]
hlt
test di, di
jg 0x427c3d
add edi, 0x890c098b
test di, di
jge 0x427c3d
mov eax, edi
neg eax
movzx eax, ax
add edi, eax
test byte [ebp - 0x10], 1
je 0x427c0d
add dword [ebx + eax - 1], esi
inc ebp
lodsb al, byte [esi]
inc dword [ebp - 0x54]
mov ecx, dword [ebp - 8]
inc ebx
jne 0x427c07
mov edx, dword [ebp - 0xc]
shr dword [ebp - 8], 1
shl ecx, 0x1f
shr esi, 1
or esi, ecx
mov ecx, dword [ebp - 0x10]
shl edx, 0x1f
shr ecx, 1
or ecx, edx
dec eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ecx
jne 0x427c04
cmp dword [ebp - 0x54], eax
je 0x427c3d
or word [ebp - 0x10], 1
and dl, byte [ecx - 0x23]
fcomp st(5)
mov ecx, eax
cmp word [ebp - 0x10], cx
ja 0x427c5b
mov ecx, dword [ebp - 0x10]
and ecx, 0x140c0
cmp ecx, 0x18000
jne 0x427c8f
cmp dword [ebp - 0xe], 0xffffffff
jne 0x427c8c
and dword [ebp - 0xe], 0xffffffc4
cmp dword [ebp - 0xa], 0xffffffff
jne 0x427c87
and dword [ebp - 0xa], 0
mov ecx, 0x890c098b
cmp word [ebp - 6], cx
jne 0x427c81
dec ebx
inc ebp
cli
inc edi
jmp 0x427c8f
inc word [ebp - 6]
jmp 0x427c8f
inc dword [ebp - 0xa]
jmp 0x427c8f
inc dword [ebp - 0xe]
mov eax, 0xc033c908
cmp di, ax
jb 0x44417d48
inc dword [ebp + 0x3966c933]
inc ebp
mov eax, 0xd6e44589
or edx, dword [ebp - 0x4c]
inc ebp
loopne 0x427cf8
and ecx, 0x8000000b
add ecx, 0x7fff8000
mov dword [ebp - 0x18], ecx
xor esi, esi
cmp ebx, esi
jne 0xe9000643
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
mov edx, 0xd2333fff
mov eax, 0xc033c908
cmp cx, dx
jb 0x8b4b0584
inc dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x26]
movzx ecx, cx
mov ebx, edx
xor ebx, ecx
and ecx, eax
and edx, eax
and ebx, 0xb
mov edi, eax
lea esi, [edx + ecx]
mov dword [ebp - 0x5c], ebx
movzx esi, si
cmp cx, di
jae 0xc0757f66
cmp dx, ax
jae 0xc0757f66
mov eax, 0x4343bffd
cmp si, ax
ja 0xf6427f66
xor eax, 0xb8f60002
mov edi, 0x6643433f
cmp esi, eax
mov eax, 0x43433fbf
cmp si, ax
ja 0x427d86
xor eax, eax
mov dword [ebp - 0x1c], eax
mov ah, 0x45
loopne 0x427d2d
cmp dword [edx], eax
invalid
div dword [ebp + 0x66]
cmp ecx, eax
jne 0x427daa
inc esi
test dword [ebp - 0x18], 0x7f0f098b
jne 0x427daa
cmp dword [ebp - 0x1c], eax
jne 0x427daa
cmp dword [ebp - 0x20], eax
jne 0x427daa
dec ebx
inc ebp
ljmp 0x6643
cmp dx, ax
jne 0x427dc7
inc esi
test dword [ebp - 0x28], 0x7f0f098b
jne 0x427dc7
cmp dword [ebp - 0x2c], eax
jne 0x427dc7
cmp dword [ebp - 0x30], eax
je 0x407d3d
inc dword [ebp - 0x58]
lea edi, [ebp - 0xc]
mov dword [ebp - 0x40], 0xc0850005
inc esp
inc ebp
test al, 0x8b
dec ebp
rol byte [ebx], 0xc0
mov ecx, dword [ebp - 0x54]
test ecx, ecx
jle 0x427e2d
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x48], ecx
lea eax, [ebp + eax - 0x20]
mov ecx, dword [ebp - 0x48]
movzx edx, word [eax]
movzx ecx, word [ecx]
and dword [ebp - 0x44], 0
imul ecx, edx
mov edx, dword [edi - 4]
lea ebx, [edx + ecx]
cmp ebx, edx
jb 0x427e0b
cmp ebx, ecx
jae 0x427e12
call [ecx - 0x44]
test dword [edx + 0x7d83c483], ebp
mov esp, 0xfc5f8900
cmp dword [ebp - 0x44], 0
mov dword [edi - 4], ebx
je 0x427e1e
inc word [edi]
sub dword [ebp - 0x48], 2
inc eax
inc eax
dec dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0
jg 0x427ded
inc edi
inc edi
inc dword [ebp - 0x58]
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0
jg 0x427dd4
add esi, 0x4343c002
test si, si
jle 0x427e7d
mov edi, dword [ebp - 8]
test edi, edi
js 0x427e78
mov eax, dword [eax]
hlt
test si, si
jg 0x427eca
add esi, 0x890c098b
test si, si
jge 0x427eca
mov eax, esi
neg eax
movzx eax, ax
add esi, eax
test byte [ebp - 0x10], 1
je 0x427e9a
add dword [ebx + eax - 1], esi
inc ebp
mov al, 0x8b
dec ebp
clc
inc dword [ebp - 0x50]
mov ecx, dword [ebp - 8]
inc ebx
jge 0x427e94
mov edx, dword [ebp - 0xc]
shr dword [ebp - 8], 1
shl ecx, 0x1f
shr edi, 1
or edi, ecx
mov ecx, dword [ebp - 0x10]
shl edx, 0x1f
shr ecx, 1
or ecx, edx
dec eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ecx
jne 0x427e91
cmp dword [ebp - 0x50], eax
je 0x427eca
or word [ebp - 0x10], 1
and dl, byte [ecx - 0x23]
fcomp st(5)
mov ecx, eax
cmp word [ebp - 0x10], cx
ja 0x427ee8
mov ecx, dword [ebp - 0x10]
and ecx, 0x140c0
cmp ecx, 0x18000
jne 0x427f1c
cmp dword [ebp - 0xe], 0xffffffff
jne 0x427f19
and dword [ebp - 0xe], 0xffffffc4
cmp dword [ebp - 0xa], 0xffffffff
jne 0x427f14
and dword [ebp - 0xa], 0
mov ecx, 0x890c098b
cmp word [ebp - 6], cx
jne 0x427f0e
dec ebx
inc ebp
cli
inc esi
jmp 0x427f1c
inc word [ebp - 6]
jmp 0x427f1c
inc dword [ebp - 0xa]
jmp 0x427f1c
inc dword [ebp - 0xe]
mov eax, 0xc033c908
cmp si, ax
jb 0x427f49
xor eax, eax
xor ecx, ecx
cmp word [ebp - 0x5c], ax
mov dword [ebp - 0x1c], eax
salc
or edx, dword [ebp - 0x4c]
inc ebp
loopne 0x427f81
and ecx, 0x8000000b
mov ax, word [ebp - 0xe]
or esi, dword [ebp - 0x5c]
dec ebx
inc ebp
loopne 0x427f54
inc dword [eax]
hlt
add ah, dh
mov dword [ebp - 0x1e], eax
add byte [ebp - 8], al
mov dword [ebp - 0x1a], eax
mov word [ebp - 0x16], si
jmp fcn.00427f84
mov dword [ebp - 0x18], eax
mov eax, 0x875102c
call fcn.0042522b
push ebp
mov ebp, dword [esp - 0x17f7efc4]
lea eax, [esp + 4]
push eax
push 0x820800
lea ecx, [esp + 0x10700838]
push ecx
call fcn.00410f4f
test eax, eax
jne 0x436f1a
xor al, al
pop ebp
add esp, 0x875102c
ret
mov edx, dword [esp + 0xbeb1034]
push ebx
push esi
mov esi, dword [esi + ebx*2 + 0xc]
push edx
shr esi, 2
mov byte [ebp], 0xff
call fcn.00416ea7
add esp, 4
xor ebx, ebx
mov dword [esp + 0x14], eax
test esi, esi
jbe 0x427b2e
push edi