Function at 0x43f460
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
movzx eax, word [0x44b1c4]
movzx ecx, word [0x44b194]
cwde
lea edx, [ecx + eax - 0x6d5bd11d]
mov word [0x44b194], dx
inc word [0x44b1c4]
movzx eax, word [0x44b5ec]
movsx ecx, ax
mov edx, 0x8ddb2beb
sub edx, ecx
sub esp, 0x30
cmp edx, 0x533bee1c
jl 0x43f4bf
mov eax, dword [0x44b2d0]
add eax, 0xecf444c
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fadd qword [0x44b210]
fstp qword [0x44b210]
mov ecx, dword [0x44b5f0]
sub ecx, 0x4b3982a9
mov dword [ebp - 4], ecx
fild dword [ebp - 4]
push ebx
push esi
push edi
fsub dword [0x44b148]
fistp qword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov dword [0x44b1ec], edx
mov eax, dword [0x44b514]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
add edx, 4
push edx
fsub qword [0x44b478]
fistp qword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov dword [0x44b514], ecx
fld qword [0x44b478]
fsub qword [0x444ac8]
fstp qword [0x44b478]
call fcn.0043f310
fld dword [0x44b418]
mov edi, dword [ebp + 8]
fsub qword [0x446658]
mov esi, eax
add esp, 4
mov dword [ebp - 0xc], esi
fstp dword [0x44b418]
fld qword [0x44b580]
mov ax, word [0x44b088]
fsub qword [0x446650]
movsx ecx, ax
mov dword [ebp - 4], ecx
fsub qword [0x446648]
fild dword [ebp - 4]
fmulp st(1)
fistp qword [ebp - 8]
mov dx, word [ebp - 8]
mov word [0x44b088], dx
fld qword [0x44b580]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [0x44b580]
fld dword [0x44b274]
mov al, byte [edi + 0x4411d8]
fsub qword [0x446640]
inc esi
inc edi
fstp dword [0x44b274]
mov byte [esi - 1], al
mov cx, word [0x44b4bc]
movsx edx, cx
mov eax, 0xfed8c3f8
sub eax, edx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fadd dword [0x44b588]
mov ecx, dword [0x44bb14]
fstp dword [0x44b588]
mov dl, byte [ecx + edi - 1]
xor byte [esi - 1], dl
mov ax, word [0x44b0b8]
mov ecx, dword [0x44b50c]
cwde
sub eax, ecx
mov word [0x44b0b8], ax
or ecx, 0xffffffff
add dword [0x44b50c], ecx
fadd dword [0x44b534]
fstp dword [0x44b534]
fld dword [0x44b534]
mov edx, dword [0x44b330]
fsub qword [0x446638]
mov dword [ebp + 8], edx
fild dword [ebp + 8]
faddp st(1)
fistp qword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [0x44b330], eax
mov edx, dword [0x44b21c]
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fld dword [0x44b524]
fsubr qword [0x446630]
fcompp
fnstsw ax
test ah, 5
jp 0x43f660
mov ax, word [0x44b578]
movsx edx, ax
mov eax, 0xcf3f4e17
sub eax, edx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmul dword [0x44b3d8]
fstp dword [0x44b3d8]
movzx edx, byte [edi + 0x4411d8]
mov byte [esi], dl
movzx eax, word [0x44b530]
movzx edx, word [0x44b0d4]
cwde
lea eax, [edx + eax + 0x5bab8d59]
mov word [0x44b0d4], ax
add word [0x44b530], cx
mov ecx, dword [0x44bb14]
movzx edx, byte [ecx + edi]
xor byte [esi], dl
movzx eax, word [0x44b544]
movsx ecx, ax
sub ecx, 0x60a17363
mov dword [ebp + 8], ecx
dec esi
fild dword [ebp + 8]
fmul dword [0x44b140]
fstp dword [0x44b140]
mov edx, dword [0x44b0c0]
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fld dword [str.ZH_t]
fcompp
fnstsw ax
test ah, 5
jp 0x43f6f4
fld dword [0x44b16c]
fsub qword [0x446628]
fsub qword [0x446620]
fmul dword [0x44b418]
fstp dword [0x44b418]
movzx eax, word [0x44b530]
sub eax, 0x8b5bd84
mov word [0x44b530], ax
movzx ebx, word [esi]
mov ecx, dword [0x44b2d4]
sub ecx, 0x6c0eaabd
movzx eax, bx
mov dword [ebp + 8], ecx
mov dword [ebp - 4], eax
add eax, 3
fild dword [ebp + 8]
inc edi
push eax
lea edx, [edi + 0x4411d8]
fadd dword [0x44b338]
push edx
push esi
fstp dword [0x44b338]
call fcn.00439310
mov eax, dword [0x44b354]
mov cx, word [0x44b280]
movsx ecx, cx
or edx, 0xffffffff
add word [0x44b280], dx
add eax, 0x4ce6f513
add esp, 0xc
cmp eax, ecx
jl 0x43f7d6
fld dword [0x44b0bc]
mov ecx, 0x1586f397
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x44b0bc]
mov eax, dword [0x44b54c]
sub ecx, eax
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
fsub dword [0x44b0bc]
fcomp qword [0x446618]
fnstsw ax
test ah, 0x41
jp 0x43f7d8
fld qword [0x44b098]
mov eax, dword [0x44b34c]
fsub qword [0x446610]
mov dword [ebp + 8], eax
fadd qword [0x446608]
fild dword [ebp + 8]
fmulp st(1)
fistp qword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [0x44b34c], ecx
fld qword [0x44b098]
fsub st(1)
fstp qword [0x44b098]
jmp 0x43f7d8
fld1
movzx ecx, word [0x44b548]
add ecx, 0x74285f55
mov word [0x44b548], cx
movzx ecx, bx
fld dword [0x44b360]
fsub st(1)
lea ecx, [ecx + esi + 3]
mov eax, esi
fstp dword [0x44b360]
fld dword [0x44b360]
fsub qword [0x446600]
fadd dword [0x44b1f4]
fistp qword [ebp - 0x28]
movzx ebx, word [ebp - 0x28]
mov word [0x44b048], bx
mov ebx, dword [0x44bb14]
add word [0x44b088], dx
add edi, ebx
movzx ebx, word [0x44b088]
movsx ebx, bx
mov dword [ebp + 8], ebx
fild dword [ebp + 8]
fadd qword [0x44b1b0]
fadd dword [0x44b328]
mov ebx, dword [0x44b570]
mov dword [ebp + 8], ebx
fild dword [ebp + 8]
faddp st(1)
fistp qword [ebp - 0x30]
mov ebx, dword [ebp - 0x30]
mov dword [0x44b570], ebx
fld dword [0x44b328]
fadd st(1)
fstp dword [0x44b328]
cmp esi, ecx
je 0x43f8c5
fld dword [0x44b3c8]
mov si, word [0x44b4bc]
movsx esi, si
mov dword [ebp + 8], esi
inc eax
inc edi
fild dword [ebp + 8]
fsubp st(1)
fstp dword [0x44b3c8]
inc word [0x44b4bc]
mov bl, byte [edi - 1]
xor byte [eax - 1], bl
mov esi, dword [0x44b4d8]
mov ebx, 0xf8b3c39e
sub ebx, esi
mov word [0x44b554], bx
add dword [0x44b4d8], edx
cmp eax, ecx
jne 0x43f87a
mov eax, dword [0x44b39c]
add eax, dword [0x44b144]
mov ebx, dword [ebp - 4]
mov dword [0x44b08c], eax
cmp dword [ebp + 0xc], ebx
je 0x43f9a3
mov ax, word [0x44b458]
movsx esi, ax
mov eax, 0x52045a8a
sub eax, esi
add dword [0x44b4f8], eax
mov byte [ecx], 0
sub ecx, 3
fld qword [0x44b3c0]
fld dword [0x44b560]
fadd qword [0x4465f8]
fsubp st(1)
fstp qword [0x44b3c0]
mov eax, dword [0x44b564]
mov esi, dword [0x44b5f0]
sub esi, eax
mov dword [ebp + 8], esi
fild dword [ebp + 8]
fld dword [0x44b168]
add dword [0x44b564], edx
fcompp
fnstsw ax
test ah, 0x41
jp 0x43f951
fld dword [0x44b02c]
fmul qword [0x4465f0]
fstp dword [0x44b02c]
mov dx, word [0x44b2a0]
mov edi, dword [ecx]
movsx eax, dx
add eax, 0xd1498671
add dword [0x44b264], eax
sub dword [ebp + 0xc], ebx
fld qword [0x44b3b0]
mov eax, 0xffffc16e
fsub qword [0x4465e8]
mov esi, ecx
fadd qword [0x44b2d8]
fstp qword [0x44b2d8]
fld qword [0x44b3b0]
fsub st(1)
fstp qword [0x44b3b0]
mov word [0x44b0f0], ax
jmp 0x43f581
fld qword [0x44b0b0]
mov eax, dword [ebp - 0xc]
fsub qword [0x4465e0]
pop edi
pop esi
pop ebx
fadd qword [0x4465d8]
fstp qword [0x44b590]
fsubr qword [0x44b0b0]
fstp qword [0x44b0b0]
mov esp, ebp
pop ebp
ret