Function at 0x43626c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xcf256c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], ecx
cmp eax, 0x3ffffffe
jb 0x4363aa
mov dword [ebp - 0x48], 0xf
lea edx, [ebp - 0x60]
xor eax, eax
mov ecx, 0x13
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], 0xd27f1c
mov dword [ebp - 0x30], edx
cmp eax, 0x10
mov dword [ebp - 0x28], 0x13
jb 0x4362dc
mov ebx, dword [ebp - 0x5c]
jmp 0x4362df
lea ebx, [ebp - 0x5c]
mov edx, 0xd27f1c
cmp edx, ebx
jae 0x436b22
xor edx, edx
test edx, edx
je 0x436343
cmp eax, 0x10
jb 0x4362fc
mov edx, dword [ebp - 0x5c]
jmp 0x4362ff
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov ebx, 0xd27f1c
sub ebx, edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ebx
cmp edx, ebx
jae 0x436327
call 0xd1b399
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
mov eax, edx
sub eax, ebx
cmp ecx, eax
jb 0x436331
mov ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x4368fd
mov dword [ebp - 0x34], 0x13
cmp eax, 0x13
jb 0x436a41
mov eax, dword [ebp - 0x34]
test eax, eax
ja 0x4369ef
mov dword [ebp - 4], 8
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x90]
call fcn.00438f90
push 0xe4a7c0
lea eax, [ebp - 0x90]
push eax
call 0xce8a72
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jae 0x4369e1
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x48], 0xf
xor eax, eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov ebx, dword [ebp + 0x10]
push 0x14
mov esi, dword [ecx + 4]
call 0xce7003
pop ecx
test eax, eax
je 0x4363d4
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov esi, dword [ebp + 0x14]
mov edi, dword [esi]
mov dword [eax + 0xc], edi
xor edx, edx
mov byte [eax + 0x10], dl
mov byte [eax + 0x11], dl
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi + 4]
add dword [esi + 8], 1
cmp edx, ecx
je 0x436ca3
movzx ecx, byte [ebp + 0xc]
test ecx, ecx
je 0x436400
mov dword [edx], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx]
je 0x436b49
jmp 0x43640f
mov dword [edx + 8], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx + 8]
je 0x436c9b
mov edx, dword [eax + 4]
movsx ebx, byte [edx + 0x10]
mov ecx, eax
test ebx, ebx
jne 0x4364c3
mov ebx, dword [ecx + 4]
mov edx, dword [ebx + 4]
mov edi, dword [edx]
cmp ebx, edi
je 0x436baf
movsx edx, byte [edi + 0x10]
mov dword [ebp + 0x10], edi
test edx, edx
jne 0x436458
mov edx, 1
mov byte [ebx + 0x10], dl
mov byte [edi + 0x10], dl
mov ebx, dword [ecx + 4]
mov edi, dword [ebx + 4]
mov byte [edi + 0x10], 0
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 4]
jmp 0x4364b4
mov edx, dword [ebx]
cmp ecx, edx
je 0x436b63
mov byte [ebx + 0x10], 1
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 4]
mov byte [ebx + 0x10], 0
mov edi, dword [ecx + 4]
mov ebx, dword [edi + 4]
mov edx, dword [ebx + 8]
mov edi, dword [edx]
mov dword [ebx + 8], edi
mov edi, dword [edx]
mov dword [ebp - 0x24], edi
movsx edi, byte [edi + 0x11]
test edi, edi
je 0x436b58
mov edi, dword [ebx + 4]
mov dword [edx + 4], edi
mov edi, dword [esi + 4]
cmp ebx, dword [edi + 4]
je 0x436b50
mov edi, dword [ebx + 4]
cmp ebx, dword [edi]
je 0x4364ad
mov dword [edi + 8], edx
jmp 0x4364af
mov dword [edi], edx
mov dword [edx], ebx
mov dword [ebx + 4], edx
mov edx, dword [ecx + 4]
movsx ebx, byte [edx + 0x10]
test ebx, ebx
je 0x436420
mov edx, dword [esi + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ebp + 8]
test esi, esi
mov byte [ecx + 0x10], 1
mov dword [edx + 4], eax
mov dword [edx], 0
je 0x436c8b
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
mov dword [edx], esi
mov esi, dword [ebp - 0x18]
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp - 0xa4]
test edx, edx
ja 0x4365ed
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x18]
cmp eax, 0x10
jae 0x4365d9
mov dword [edx + 0x18], 0xf
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x436581
mov eax, dword [eax + 4]
jmp 0x436584
add eax, 4
mov ecx, dword [ebp - 0xb0]
mov byte [eax], 0
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0xa8]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xa4]
mov dword [edi + 0x14], esi
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x18]
cmp eax, 0x10
jb 0x4365c7
mov edx, dword [edx + 4]
jmp 0x4365ca
add edx, 4
mov eax, dword [ebp - 0xa4]
mov byte [edx + eax], 0
jmp 0x436353
push dword [edx + 4]
call 0xce706d
pop ecx
mov edx, dword [ebp - 0xa8]
jmp 0x43655a
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x18]
cmp eax, 0x10
jb 0x436600
mov ecx, dword [ecx + 4]
jmp 0x436603
add ecx, 4
mov ebx, dword [ebp - 0xb0]
movzx eax, byte [ebp - 0xd8]
mov byte [ebp - 0xdc], al
push edx
add ebx, 1
push ecx
push ebx
push dword [ebp - 0xac]
call 0xce8abc
add esp, 0x10
jmp 0x436548
add ebx, ecx
cmp edx, ebx
jae 0x43690b
call 0xd1b399
mov edx, dword [ebp - 0x4c]
mov eax, edx
sub eax, ebx
cmp eax, 0xffffffff
mov esi, eax
jb 0x43691b
mov esi, 0xffffffff
test esi, esi
ja 0x43698a
mov ebx, dword [ebp - 0x38]
test edx, edx
jae 0x43692e
call 0xd1b399
mov edx, dword [ebp - 0x4c]
cmp edx, ebx
jae 0x436934
mov ebx, edx
test ebx, ebx
jbe 0x43635e
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x43694c
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
jmp 0x436952
lea esi, [ebp - 0x5c]
lea eax, [ebp - 0x5c]
mov byte [ebp - 0xcc], 0
add eax, ebx
sub edx, ebx
push edx
push eax
push ecx
push esi
call 0xce8b37
add esp, 0x10
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, ebx
mov dword [ebp - 0x4c], edx
cmp eax, 0x10
jb 0x43697e
mov eax, dword [ebp - 0x5c]
jmp 0x436981
lea eax, [ebp - 0x5c]
mov byte [eax + edx], 0
jmp 0x43635e
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x43699a
mov edi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
jmp 0x4369a0
lea edi, [ebp - 0x5c]
lea edx, [ebp - 0x5c]
mov byte [ebp - 0xc8], 0
add edi, ebx
sub ecx, ebx
add ebx, esi
add ebx, edx
sub eax, esi
push eax
push ebx
push ecx
push edi
call 0xce8b37
add esp, 0x10
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, esi
mov dword [ebp - 0x4c], edx
cmp eax, 0x10
jb 0x4369d2
mov eax, dword [ebp - 0x5c]
jmp 0x4369d5
lea eax, [ebp - 0x5c]
mov byte [eax + edx], 0
mov edx, dword [ebp - 0x4c]
jmp 0x43691f
push dword [ebp - 0x5c]
call 0xce706d
pop ecx
jmp 0x436398
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x18]
cmp edx, 0x10
jb 0x4369ff
mov ecx, dword [ecx + 4]
jmp 0x436a02
add ecx, 4
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
movzx eax, byte [ebp - 0x64]
mov byte [ebp - 0x68], al
push edx
push ecx
call 0xce8abc
add esp, 0x10
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x18]
cmp ecx, 0x10
jb 0x436a32
mov eax, dword [eax + 4]
jmp 0x436a35
add eax, 4
mov edx, dword [ebp - 0x28]
mov byte [eax + edx], 0
jmp 0x43635e
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0xd0], 0x13
mov ebx, 0x1f
lea edx, [ebp - 0x60]
mov dword [ebp - 0xb0], 0x1f
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], ecx
mov ecx, eax
mov dword [ebp - 0x24], ebx
shr ecx, 1
cmp ecx, 0xa
ja 0x436b02
mov dword [ebp - 0xac], 0
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
jne 0x436a9f
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x436ae6
mov ecx, eax
xor edx, edx
mov eax, 0xffffffff
div ecx
cmp eax, 1
jae 0x436ae6
mov dword [ebp - 0xec], 0
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x108]
call 0xce8806
mov dword [ebp - 0x108], 0xe40cb4
lea eax, [ebp - 0x108]
push 0xe4a720
push eax
call 0xce8a72
mov eax, dword [ebp - 0x24]
push eax
call 0xce7003
pop ecx
mov dword [ebp - 0xac], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x43653a
mov edx, ecx
neg edx
add edx, 0xfffffffe
cmp eax, edx
ja 0x436a7c
lea eax, [eax + ecx]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xb0], eax
jmp 0x436a7c
cmp eax, 0x10
jb 0x436b2c
mov edx, dword [ebp - 0x5c]
jmp 0x436b2f
lea edx, [ebp - 0x5c]
add edx, dword [ebp - 0x4c]
mov ebx, 0xd27f1c
push ebp
mov ah, 0xbb
sbb al, 0x7f
rol byte [eax], cl
cmp edx, ebx
jbe 0x4362ec
mov edx, 0x5dede616
cmp dl, al
push es
mov edi, 0xbf15cc22
jb 0x436b71
int3
mov byte [bp + di + 0x6cb0], al
cmpsb byte [esi], byte es:[edi]
inc edx
mov byte [ebx + 0x42a66cb0], al
out 0xd0, al
add dword [edi], ebp
sal byte [esi*8 + 0x64a2f302], 0xe1
pop ss
aaa
mov ch, byte [ecx]
ficom dword [ecx - 0x554db85e]
salc
in eax, 0xdf
invalid
sbb esi, dword [ebp - 0x29a4499d]
push ecx
dec esi
pop ecx
fld dword [edx + 0x46]
dec ebp
out 0x36, al
int1
imul esp, dword [esi - 0x61c1073c], 0xffffffef
mov ch, 0x52
push edi
mov byte [0xb21ab262], al
jbe 0x436bf2
dec esi
dec edx
pop es
add edi, dword [ebx]
push ecx
nop
sub dh, ch
call 0x2c287616
lahf
loopne 0x436b30
sar esi, 1
cli
scasb al, byte es:[edi]
or dl, byte [esi + 0x42]
pop esi
mov bh, 0xeb
adc dword [ebp + 8], 0xffffff91
or byte [ecx + 0x297542e5], dl
in eax, 0x42
jne 0x436bde
xor eax, 0xaa9ef077
jbe 0x436bca
or dl, byte es:[esi + 0x11]
cmp dword [esi], 0x36
shr edx, cl
and dword [ecx + edx*8], 0xfffffffc
mov dh, 0x40
inc eax
ja 0x436bb1
xor eax, 0x9be69e13
insd dword es:[edi], dx
test esi, edi
mov bh, 0xca
jmp 0xff26041b
stc
bound ebx, qword [edx]
invalid
xchg edx, eax
les ebx, [edx - 0x62]
mov esp, 0x3286b391
imul ebp
xchg ecx, eax
mov bl, 0x86
xor dh, bh
in eax, dx
cmc
mov word [esi + 0x72], fs
mov ah, 0x67
cmpsb byte [esi], byte es:[edi]
pop ecx
push es
jge 0x436bed
dec esp
xchg esp, eax
ret 0xe237
mov ecx, 0x9a944894
scasb al, byte es:[edi]
fsubr qword [ecx + 0x2ea9d776]
insd dword es:[edi], dx
shr byte [eax - 9], cl
dec edx
mov esi, 0x63e60fc0
hlt
push 0xd23e8e25
leave
lcall 0x8c97, 0x435df5c0
push ebx
add bl, byte [ecx - 0x19eb1e3d]
or al, bl
mov ebp, 0xee4ad044
ret
ror byte [edx - 0x12], 1
xor ecx, dword [edx]
jns 0x436cd0
mov dl, 0xb0
jae 0x436d1f
pop ebp
sahf
adc bh, bl
and al, 0x31
inc ebx
sti
fadd st(2)
or edx, eax
and esi, ebx
add cl, byte [edi]
push edx
call 0x73f8cabb
iretd
xor byte [ebx + 0x46066c4e], 0xd8
loopne 0x436c6f
daa
ret
xor byte [ebx + 0x6a], ch
mov esi, 0x75cf06ae
dec dword [eax - 0x58]
in eax, 0x12
std
jg 0x436d96
cmp edi, dword [esi - 0x4b89bdcd]
sar byte [eax], cl
invalid
cmpsb byte [esi], byte es:[edi]
mov al, byte [0x9fa0b04f]
test dword [edx], ecx
sbb dword [ebx], eax
or dword [ebx + edx - 0x1899cd1b], edi
pop ecx
adc eax, 0xd3f2805c
dec esi
pop edi
in al, dx
inc eax
add dword [esi + 0x2e80457f], 0xffffffd3
push ebx
invalid