Function at 0x43f000
Capabilities:
Encode data using xor

Disassembly:
push ebp
nop
mov ebp, esp
nop
sub esp, 0x60
nop
mov ecx, dword [ebp + 8]
nop
mov eax, 0x20b6
nop
xor ax, word [ecx + 0x20]
nop
mov ecx, 0x3f01
nop
xor dword [0x408809], 0x4087fd
nop
add ax, cx
nop
movzx eax, ax
nop
and ecx, 0xc04
nop
mov dword [ebp - 0x18], eax
nop
mov byte [ebp - 1], 0xed
nop
xor ecx, dword [0x40884d]
nop
lea eax, [ebp - 1]
nop
sub dword [0x408809], ecx
nop
mov dword [ebp - 0x1c], eax
nop
adc dword [0x40883d], edi
nop
mov al, byte [ebp - 1]
nop
sub ecx, dword [0x4087c1]
nop
mov ecx, dword [ebp - 0x1c]
nop
xor dword [0x408809], 0x1a6b
nop
xor al, 0x3f
nop
add al, 0x2f
nop
and dword [0x408781], 0x5965
nop
mov byte [ecx], al
nop
mov dword [ebp - 0xc], 0xc6f8e435
nop
inc ecx
nop
mov dword [ebp - 0x14], 0xc6f8e434
nop
movzx ecx, word [0x4087fd]
nop
or dword [0x40873d], ecx
nop
mov ecx, dword [ebp - 0xc]
nop
push esi
nop
mov eax, 0x2a823c2b
nop
xor dword [0x40873d], edi
nop
xor ecx, eax
nop
mov esi, 0x138527e2
nop
sbb dword [0x4087c5], 0x48d8
nop
add ecx, esi
nop
push ebx
nop
dec dword [0x4087c1]
nop
mov dword [ebp - 0x10], ecx
nop
not ecx
nop
mov dword [ebp - 8], 0xc6f8e04b
nop
push edi
nop
sub dword [0x408859], 0x4d67
nop
mov ecx, dword [ebp - 0xc]
nop
or dword [0x4087d5], 0x4087c9
nop
xor ecx, eax
nop
mov dword [0x4087fd], 0x16ca
nop
add ecx, esi
nop
mov dword [0x408805], 0x240b
nop
cmp dword [ebp - 8], 0xc6f8e664
nop
mov dword [0x408779], 0x5655
nop
mov dword [ebp - 0x1c], ecx
nop
jne 0x43f187
cmp ecx, 0x40
nop
mov dword [0x4087bd], 0x217e
nop
jae 0x43f187
mov dl, byte [ebp - 1]
nop
mov byte [ebp + ecx - 0x60], dl
nop
mov dword [0x4087cd], 0x6744
nop
cmp ecx, 0x3f
nop
mov dword [0x408839], 0x213c
nop
jne 0x43f2ee
jmp 0x43f1f1
mov edi, dword [ebp - 8]
nop
mov edx, dword [ebp - 0x14]
nop
sub dword [0x408845], 0xde9
nop
xor edi, eax
nop
sub dword [0x4087c9], 0x408739
nop
xor edx, eax
nop
xor dword [0x408749], 0x6c6c
nop
sub edi, edx
nop
sub edi, esi
nop
xor edi, eax
nop
mov dword [0x408815], 0x755
nop
mov dword [ebp - 8], edi
nop
mov dword [0x408861], 0x76b7
nop
cmp edi, 0xc6f8e38a
nop
mov dword [0x4087bd], 0x7ffb
nop
jne 0x43f30b
mov edx, dword [ebp - 0xc]
nop
inc edi
nop
mov edi, dword [ebp - 0x18]
nop
xor edx, eax
nop
adc dword [0x408751], 0x63ee
nop
add edx, esi
nop
mov dword [0x40877d], 0x30c9
nop
cmp edx, edi
nop
je 0x43f2c4
adc edi, edi
nop
mov edi, dword [ebp + 8]
nop
mov ecx, 0x20b6
nop
sub dword [0x408755], 0x3302
nop
xor cx, word [edi + edx*4 + 2]
nop
and edi, dword [0x4087c5]
nop
mov edi, 0x3f01
nop
add cx, di
nop
sub dword [0x408845], 0x4087bd
nop
movzx ecx, cx
nop
mov dword [ebp - 0x20], ecx
nop
add ecx, 0x660b
nop
mov ecx, dword [ebp + 8]
nop
movzx ecx, word [ecx + edx*4]
nop
add dword [0x408859], 0x408809
nop
xor ecx, 0x20b6
nop
adc dword [0x4087b9], 0x4087c1
nop
add ecx, edi
nop
mov edi, dword [ebp - 0x20]
nop
mov byte [ebp + edi - 0x60], cl
nop
mov ecx, dword [ebp - 0x18]
nop
mov dword [0x408785], 0x75b7
nop
inc edx
nop
cmp edx, ecx
nop
mov dword [0x40885d], 0x1fa0
nop
jne 0x43f220
mov ecx, dword [ebp - 0x1c]
nop
sbb edx, 0x283d
nop
mov edx, dword [ebp - 0xc]
nop
mov edi, dword [ebp + 0x10]
nop
xor edx, eax
nop
dec dword [0x408855]
nop
add edx, esi
nop
mov dword [0x408741], 0x28e0
nop
mov dword [edi], edx
nop
mov dword [0x40874d], 0x603d
nop
inc ecx
nop
mov dword [0x4087b9], 0x60e7
nop
jmp 0x43f11c
mov dword [0x4087bd], 0x713b
nop
cmp dword [ebp - 8], 0xc6f8e478
nop
mov dword [0x408811], 0x68cc
nop
jne 0x43f0f1
mov dword [0x408789], edi
nop
pop edi
nop
mov dword [ebp + 8], 0xc6f8d435
nop
pop ebx
nop
jmp 0x43f3da
mov ecx, dword [ebp - 0x10]
nop
mov cl, byte [ebp + ecx - 0x60]
nop
mov dl, byte [ebp - 1]
nop
cmp cl, dl
nop
je 0x43f3bf
mov ecx, dword [ebp + 8]
nop
mov edx, dword [ebp - 0x14]
nop
xor ecx, eax
nop
xor edx, eax
nop
sub ecx, edx
nop
sub ecx, esi
nop
xor ecx, eax
nop
mov dword [ebp + 8], ecx
nop
mov ecx, dword [ebp - 0x10]
nop
mov cl, byte [ebp + ecx - 0x60]
nop
mov dl, byte [ebp - 1]
nop
cmp cl, dl
nop
je 0x43f3bf
mov ecx, dword [ebp - 0x10]
nop
mov cl, byte [ebp + ecx - 0x60]
nop
mov edx, dword [ebp + 0xc]
nop
cmp cl, byte [edx]
nop
jne 0x43f3fb
mov ecx, dword [ebp - 0xc]
nop
mov edx, dword [ebp + 0xc]
nop
movsx edx, byte [edx]
nop
xor ecx, eax
nop
add ecx, esi
nop
cmp edx, ecx
nop
je 0x43f3ea
mov ecx, dword [ebp - 0x14]
nop
mov edx, dword [ebp - 0x10]
nop
xor ecx, eax
nop
lea ecx, [ecx + edx + 0x138527e2]
nop
mov dword [ebp - 0x10], ecx
nop
inc dword [ebp + 0xc]
nop
mov ecx, dword [ebp + 8]
nop
xor ecx, eax
nop
add ecx, esi
nop
jne 0x43f347
mov ecx, dword [ebp - 0x14]
nop
xor ecx, eax
nop
mov eax, dword [ebp + 0x10]
nop
add ecx, esi
nop
mov dword [eax], ecx
nop
pop esi
nop
leave
nop
ret 0xc