Function at 0x430db4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push edi
push esi
push ebx
fld qword [ebp + 8]
fstp qword [ebp - 0x20]
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x20]
cmp dword [ebp + 0x10], 0x4e
jle 0x430dd6
mov dword [ebp + 0x10], 0x4e
mov dword [ebp - 0x24], 0
mov dword [ecx], 0
mov esi, edi
fldz
fcomp qword [ebp - 0x20]
fnstsw ax
and ah, 0x45
jne 0x430dff
mov dword [ecx], 1
fld qword [ebp - 0x20]
fchs
fstp qword [ebp - 0x20]
add esp, 0xfffffffc
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call sub.cygwin1.dll_modf
fstp qword [ebp - 0x20]
lea ebx, [edi + 0x50]
add esp, 0x10
fld qword [ebp - 0x10]
fldz
fucom st(1)
fnstsw ax
and ah, 0x45
cmp ah, 0x40
je 0x430eb4
fucompp
fnstsw ax
and ah, 0x45
cmp ah, 0x40
je 0x430e9e
nop
add esp, 0xfffffffc
lea eax, [ebp - 0x10]
push eax
fld qword [0x430da4]
fdivr qword [ebp - 0x10]
sub esp, 8
fstp qword [esp]
call sub.cygwin1.dll_modf
fst qword [ebp - 0x18]
dec ebx
fadd qword [0x430dac]
fmul qword [0x430da4]
fnstcw word [ebp - 2]
mov dx, word [ebp - 2]
or dx, 0xc00
mov word [ebp - 4], dx
fldcw word [ebp - 4]
fistp dword [ebp - 8]
mov eax, dword [ebp - 8]
fldcw word [ebp - 2]
add al, 0x30
mov byte [ebx], al
inc dword [ebp - 0x24]
add esp, 0x10
fld qword [ebp - 0x10]
fldz
fucompp
fnstsw ax
and ah, 0x44
xor ah, 0x40
jne 0x430e3c
lea eax, [edi + 0x50]
mov edx, eax
cmp ebx, eax
jae 0x430f1b
nop
mov al, byte [ebx]
mov byte [esi], al
inc ebx
inc esi
cmp ebx, edx
jb 0x430ea8
jmp 0x430f1b
fstp st(0)
fstp st(0)
fldz
fcomp qword [ebp - 0x20]
fnstsw ax
and ah, 0x45
cmp ah, 1
jne 0x430f1b
fld qword [ebp - 0x20]
fmul qword [0x430da4]
fst qword [ebp - 0x18]
fld st(0)
fld1
fld st(0)
fxch st(3)
fcompp
fnstsw ax
and ah, 0x45
cmp ah, 1
jne 0x430f17
fld qword [0x430da4]
jmp 0x430ef4
fstp st(1)
fxch st(1)
nop
fxch st(1)
fst qword [ebp - 0x20]
dec dword [ebp - 0x24]
fmul st(1)
fld st(0)
fcom st(3)
fnstsw ax
and ah, 0x45
cmp ah, 1
je 0x430eef
fstp st(0)
fstp st(1)
fstp st(1)
fstp qword [ebp - 0x18]
jmp 0x430f1b
fstp st(0)
fstp st(0)
mov edx, dword [ebp + 0x10]
lea ebx, [edx + edi]
cmp dword [ebp + 0x1c], 0
jne 0x430f2a
add ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
cmp ebx, edi
jae 0x430f88
mov byte [edi], 0
jmp 0x430fd6
fld qword [ebp - 0x20]
fmul qword [0x430da4]
fst qword [ebp - 0x20]
add esp, 0xfffffffc
lea eax, [ebp - 0x18]
push eax
sub esp, 8
fstp qword [esp]
call sub.cygwin1.dll_modf
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fnstcw word [ebp - 2]
mov dx, word [ebp - 2]
or dx, 0xc00
mov word [ebp - 4], dx
fldcw word [ebp - 4]
fistp dword [ebp - 8]
mov eax, dword [ebp - 8]
fldcw word [ebp - 2]
add al, 0x30
mov byte [esi], al
inc esi
add esp, 0x10
cmp esi, ebx
ja 0x430f93
lea eax, [edi + 0x50]
cmp esi, eax
jb 0x430f40
lea eax, [edi + 0x50]
cmp ebx, eax
jb 0x430fa0
mov byte [edi + 0x4f], 0
jmp 0x430fd6
mov esi, ebx
add byte [esi], 5
cmp byte [esi], 0x39
jle 0x430fd3
mov esi, esi
mov byte [ebx], 0x30
cmp ebx, edi
jbe 0x430fb8
dec ebx
inc byte [ebx]
jmp 0x430fce
mov byte [ebx], 0x31
mov eax, dword [ebp + 0x14]
inc dword [eax]
cmp dword [ebp + 0x1c], 0
jne 0x430fce
cmp esi, edi
jbe 0x430fcd
mov byte [esi], 0x30
inc esi
cmp byte [ebx], 0x39
jg 0x430fac
mov byte [esi], 0
mov eax, edi
lea esp, [ebp - 0x48]
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret