Function at 0x436320
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, eax
mov ax, word [0x49dddc]
cwde
sub eax, 0x926f2f2
or eax, 0xa7bfd0cd
xor dword [0x451580], eax
mov edx, dword [0x43c0d4]
shl edx, 7
mov eax, 0x3e68d402
sub eax, edx
movzx edx, word [0x4a126a]
imul edx, eax
mov word [0x4a126a], dx
fld dword [0x4a7e78]
fadd dword [0x4bd5e8]
fstp dword [0x4a7e78]
fld qword [0x47e760]
fsub dword [0x4bac7c]
fld dword [0x4bbf3c]
fmul dword [0x4ab3a8]
fld dword [0x4ab3a8]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x4ab3a8]
fxch st(1)
fcompi st(2)
fstp st(1)
jbe 0x4363b8
movzx eax, word [0x499074]
or eax, 0xb2d5d3a
mov word [0x499074], ax
jmp 0x4363ca
mov edx, dword [0x440828]
imul edx, edx, 0x150fa537
mov dword [0x440828], edx
fld dword [0x4c54a0]
fld dword [0x4ac2ac]
fld dword [0x4c54a0]
fsub st(3)
fstp dword [0x4c54a0]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x436435
fld dword [0x4b2d5c]
fld dword [0x4af4b8]
fsub dword [0x4b0d08]
fld dword [0x4b0d08]
fadd st(3)
fstp dword [0x4b0d08]
fld dword [0x4af4b8]
fadd st(3)
fstp dword [0x4af4b8]
fcompi st(1)
fstp st(0)
jb 0x436435
inc dword [0x442e6c]
mov eax, dword [0x442e6c]
sub eax, 0x1a97a876
mov dword [0x442fc0], eax
cmp dword [ebp + 0xc], 0
fld dword [0x4ab2c4]
fld qword [0x47da60]
fld dword [0x4c064c]
faddp st(2)
fsubrp st(1)
fstp qword [0x47da60]
je 0x4364cc
mov dx, word [0x4a07bc]
movsx eax, dx
mov edx, dword [0x451f9c]
add edx, eax
mov word [0x4a07bc], dx
inc dword [0x451f9c]
mov byte [ecx], 0x2d
movzx eax, word [0x4a3586]
and eax, 0x64198b40
mov word [0x4a3586], ax
inc ecx
fld dword [0x4b4d9c]
neg edi
fadd qword [0x4847c8]
fld dword [0x4b74dc]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x4364cc
mov dx, word [0x4a3154]
movsx eax, dx
xor eax, 0x699b2e20
cmp eax, 0xbe79eb
jl 0x4364cc
or dword [0x448c90], 0xbb3dea35
xor dword [0x43c890], 0x805355da
mov eax, dword [0x451adc]
imul eax, eax, 0xf2eca7bf
and eax, 0x53b0e2ba
xor dword [0x458700], eax
mov esi, ecx
fld dword [0x4af080]
mov eax, edi
fmul dword [0x4a9ae8]
xor edx, edx
div dword [ebp + 8]
fadd dword [0x4b3a00]
fstp dword [0x4c32f0]
fld dword [0x4b3a00]
fsub st(1)
fstp dword [0x4b3a00]
fld dword [0x4c019c]
fmul qword [0x461b18]
fsub dword [0x4c2954]
fld qword [0x482ac8]
fsub dword [0x4bb38c]
fsub dword [0x4c15ac]
fld dword [0x4c15ac]
fadd st(3)
fstp dword [0x4c15ac]
fcompi st(1)
fstp st(0)
mov edi, eax
jbe 0x436581
fld dword [0x4b50dc]
fmul qword [0x4613f0]
fsub dword [0x4be7ac]
fadd dword [0x4a9a04]
fstp dword [0x4a9a04]
fld dword [0x4be7ac]
fsub st(1)
fstp dword [0x4be7ac]
movzx eax, word [0x498778]
or eax, 0x5903690a
mov word [0x498778], ax
cmp edx, 9
jbe 0x4365ec
add dl, 0x57
mov dword [0x44cda8], 0xec97bb77
mov byte [ecx], dl
mov edx, dword [0x44f5ec]
mov eax, 0x744c9404
sub eax, edx
inc ecx
cmp eax, 0x6da843ff
jge 0x4365cb
and dword [0x43f2e0], 0xed191a66
jmp 0x43665c
mov edx, dword [0x456ab0]
sub edx, 0x1c170dcf
cmp edx, 0x260b0060
jg 0x43665c
mov eax, 0x430
mov word [0x4a09d0], ax
jmp 0x43665c
mov eax, dword [0x452fe4]
and eax, 0x547adcd1
cmp eax, 0x5175eb65
jl 0x436617
mov ax, word [0x49fcfa]
mov ebx, dword [0x43e298]
cwde
not ebx
or ebx, eax
mov word [0x49fcfa], bx
jmp 0x436638
mov eax, dword [0x44421c]
mov ebx, dword [0x452120]
and eax, ebx
mov ebx, dword [0x44c3d0]
and ebx, eax
and ebx, 0x4be322bf
mov dword [0x44421c], ebx
add dl, 0x30
mov byte [ecx], dl
mov eax, dword [0x4583e4]
mov edx, dword [0x444fcc]
xor eax, 0x48020190
or eax, 0x12f8b64b
inc ecx
imul edx, eax
mov dword [0x444fcc], edx
fld dword [0x4c0b28]
fmul qword [0x471ba0]
fstp qword [0x466b68]
test edi, edi
ja 0x4364ee
mov eax, dword [0x4516fc]
fstp st(0)
cmp eax, 0xfda37790
je 0x436698
mov edx, dword [0x4573c8]
imul edx, edx, 0xe0401204
mov dword [0x4573c8], edx
jmp 0x4366a3
mov eax, 0xffff8c52
mov word [0x4a473c], ax
mov byte [ecx], 0
fld dword [0x4b920c]
fstp qword [0x496a60]
dec ecx
mov edx, 0x43e236d3
mov edi, 0x4533fb0f
lea ecx, [ecx]
or dword [0x440218], 0x8415d1ab
mov al, byte [ecx]
xor dword [0x450754], edx
mov bl, byte [esi]
mov byte [ecx], bl
fld dword [0x4c44d0]
fsub qword [0x46b400]
dec ecx
inc esi
fstp dword [0x4c44d0]
mov byte [esi - 1], al
movzx eax, word [0x49aa3c]
and eax, 0xfb4049a1
mov word [0x49aa3c], ax
and dword [0x4415e8], edi
mov eax, dword [0x44ae34]
mov ebx, dword [0x44e77c]
imul eax, ebx
mov dword [0x44ae34], eax
mov eax, 1
add dword [0x44e77c], eax
cmp esi, ecx
jb 0x4366c0
mov ecx, dword [0x4533c8]
movzx edx, word [0x49cba2]
xor ecx, 0x9d33c377
pop edi
or edx, ecx
pop esi
mov word [0x4a3174], dx
add word [0x49cba2], ax
pop ebx
pop ebp
ret