Function at 0xcb1040
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x7fa8
call fcn.00de37a0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x7f64], edx
mov dword [ebp - 0x7f60], eax
lea eax, [edx*4 + 0x1e]
and eax, 0xfffffff0
call fcn.00de37a0
lea eax, [esp + 0x1b]
and eax, 0xfffffff0
mov dword [ebp - 0x7f68], eax
lea edi, [ebp - 0x7ef8]
mov dword [esp], 0x44
call sub.msvcrt.dll_malloc
lea edx, [ebp - 0x7ef8]
mov dword [ebp - 0x7f9c], edx
mov dword [esp], edx
mov dword [esp + 8], 0x7700
mov dword [esp + 4], 0
mov dword [ebp - 0x7f5c], eax
call sub.msvcrt.dll_memset
mov edx, dword [ebp - 0x7f9c]
lea eax, [ebp - 0x7f8]
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x7f28], edi
mov dword [ebp - 0x7fa0], eax
sub edx, eax
mov dword [ebp - 0x7f24], edx
mov dword [ebp - 0x7f20], 0x12bf4a0
mov dword [ebp - 0x7f08], 0
mov dword [ebp - 0x7fa4], ecx
mov edx, dword [ebp - 0x7f08]
xor esi, esi
mov eax, dword [ebp - 0x7f08]
shl edx, 2
shl eax, 4
cmp edx, 0x57
lea ecx, [eax + 0x12bf34c]
jle 0xcb1174
lea ebx, [edx + 1]
fld dword [0x12c4e28]
cmp ebx, 0x57
jle 0xcb118b
fld dword [0x12c4e28]
fxch st(1)
fucomi st(1)
ja 0xcb1194
fstp st(1)
lea eax, [edx + 2]
cmp eax, 0x57
jle 0xcb119e
fld dword [0x12c4e28]
fxch st(1)
fucomi st(1)
jbe 0xcb11a7
fstp st(0)
lea eax, [edx + 3]
cmp eax, 0x57
jg 0xcb11b1
fld dword [ecx]
fxch st(1)
fucomi st(1)
ja 0xcb11bd
fstp st(1)
fstp dword [ebp + esi*4 - 0xf8]
add esi, 1
add ecx, 4
cmp esi, 0x38
je 0xcb11c1
mov edx, ebx
cmp edx, 0x57
jg 0xcb1117
fld dword [ecx - 0xc]
lea ebx, [edx + 1]
fld dword [0x12c4e40]
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
cmp ebx, 0x57
jg 0xcb1125
fld dword [ecx - 8]
fxch st(1)
fucomi st(1)
jbe 0xcb1131
fstp st(0)
lea eax, [edx + 2]
cmp eax, 0x57
jg 0xcb113b
fld dword [ecx - 4]
fxch st(1)
fucomi st(1)
ja 0xcb1147
fstp st(1)
lea eax, [edx + 3]
cmp eax, 0x57
jle 0xcb1151
fld dword [0x12c4e28]
fxch st(1)
fucomi st(1)
jbe 0xcb1159
fstp st(0)
jmp 0xcb115b
xor ebx, ebx
mov edi, dword [ebp - 0x7f28]
mov ecx, dword [ebp - 0x7f20]
mov dword [esp + 8], 0xe0
lea edx, [edi + ebx + 0x1c0]
lea eax, [ebx + ecx]
add ebx, 0xe0
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
cmp ebx, 0x540
jne 0xcb11c3
mov edi, dword [ebp - 0x7f20]
xor esi, esi
mov eax, dword [ebp - 0x7f28]
mov dword [esp + 8], 0xe0
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x7f28]
mov dword [esp + 4], edi
mov dword [esp + 8], 0xe0
add edx, 0xe0
mov dword [ebp - 0x7f6c], edx
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x7f08]
mov edi, dword [ebp - 0x7f08]
shl ecx, 0xb
shl edi, 8
mov dword [ebp - 0x7f80], ecx
fldz
fld dword [ebp + 0xc]
fxch st(1)
fucomi st(1)
ja 0xcb18dc
fstp st(1)
fld dword [ebp + 0xc]
fucomi st(1)
fstp st(1)
ja 0xcb1889
fld dword [ebp + 0x10]
imul eax, esi, 0xe0
mov ebx, 0xf
fmul dword [0x12c4e20]
mov edx, dword [ebp - 0x7f80]
sub edx, edi
faddp st(1)
add eax, edx
lea edx, [ebp - 0x7ef8]
lea eax, [edx + eax]
fadd dword [eax]
lea ecx, [eax + 4]
fstp dword [eax]
mov edx, ebx
sar edx, 0x1f
mov eax, edx
xor eax, ebx
sub ebx, 1
sub eax, edx
push eax
fild dword [esp]
add esp, 4
fmul dword [ebp + 0x10]
fadd dword [ebp + 0xc]
fadd dword [ecx]
fstp dword [ecx]
add ecx, 4
cmp ebx, 0xffffffd8
jne 0xcb12a9
add esi, 1
cmp esi, 8
jne 0xcb125b
lea esi, [ebp - 0x7f8]
xor edi, edi
mov eax, dword [ebp - 0x7f08]
cmp edi, 2
mov edx, dword [ebp - 0x7f60]
fld dword [0x12c4e2c]
mov ecx, dword [ebp - 0x7f24]
fadd dword [edx + eax*4]
mov eax, 2
cmovge eax, edi
push eax
mov eax, 2
lea ebx, [esi + ecx]
fild dword [esp]
add esp, 4
fmul dword [0x12c4e30]
faddp st(1)
fsub dword [0x12c4e18]
fstp dword [ebp - 0x7efc]
fld dword [ebp - 0x7efc]
fld dword [ebx]
fadd st(1)
fstp dword [ebx]
fld dword [ebx + eax*4 - 4]
fadd st(1)
fstp dword [ebx + eax*4 - 4]
add eax, 1
cmp eax, 0x39
jne 0xcb1335
fstp st(0)
lea eax, [ebp - 0xf8]
mov dword [esp + 8], 0xe0
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_memcpy
mov eax, 2
push edi
fild dword [esp]
add esp, 4
fmul dword [0x12c4e30]
fadd dword [0x12c4e2c]
fsub dword [0x12c4e18]
fstp dword [ebp - 0x7efc]
fld dword [ebp - 0x7efc]
fld dword [esi]
fadd st(1)
fstp dword [esi]
fld dword [esi + eax*4 - 4]
fadd st(1)
fstp dword [esi + eax*4 - 4]
add eax, 1
cmp eax, 0x39
jne 0xcb1393
fstp st(0)
mov al, 1
jmp 0xcb13b7
fstp dword [esi + eax*4 - 4]
add eax, 1
cmp eax, 0x39
je 0xcb13d1
fld dword [ebx + eax*4 - 4]
fld dword [esi + eax*4 - 4]
fxch st(1)
fucomi st(1)
fstp st(1)
ja 0xcb13ab
fstp st(0)
add eax, 1
cmp eax, 0x39
jne 0xcb13b7
add edi, 1
add esi, 0xe0
cmp edi, 8
jne 0xcb12e0
mov ecx, dword [ebp - 0x7f6c]
lea edx, [ebp - 0x718]
lea ebx, [edx - 0xe0]
mov eax, 1
jmp 0xcb1408
fstp dword [edx + eax*4 - 4]
add eax, 1
cmp eax, 0x39
je 0xcb141e
fld dword [ebx + eax*4 - 4]
fld dword [edx + eax*4 - 4]
fucompi st(1)
ja 0xcb13fc
fstp st(0)
add eax, 1
cmp eax, 0x39
jne 0xcb1408
mov al, 1
jmp 0xcb142e
fstp dword [ecx + eax*4 - 4]
add eax, 1
cmp eax, 0x39
je 0xcb1444
fld dword [edx + eax*4 - 4]
fld dword [ecx + eax*4 - 4]
fucompi st(1)
ja 0xcb1422
fstp st(0)
add eax, 1
cmp eax, 0x39
jne 0xcb142e
add edx, 0xe0
add ecx, 0xe0
cmp edx, dword [ebp - 0x7fa4]
jne 0xcb13ef
add dword [ebp - 0x7f08], 1
add dword [ebp - 0x7f28], 0x700
add dword [ebp - 0x7f24], 0x700
add dword [ebp - 0x7f20], 0x540
cmp dword [ebp - 0x7f08], 0x11
jne 0xcb10f8
fld dword [ebp + 8]
fstp qword [ebp - 0x7f38]
mov dword [ebp - 0x7f48], 0
mov dword [esp], 0x20
call sub.msvcrt.dll_malloc
mov edx, dword [ebp - 0x7f48]
mov ecx, dword [ebp - 0x7f5c]
fild dword [ebp - 0x7f48]
fmul dword [0x12c4e10]
mov dword [ecx + edx*4], eax
fstp qword [ebp - 0x7f58]
fld qword [0x12c4e58]
fadd qword [ebp - 0x7f58]
fmul dword [0x12c4e38]
fstp qword [esp]
call sub.msvcrt.dll_exp
fdiv qword [ebp - 0x7f38]
fstp qword [esp]
call sub.msvcrt.dll_floor
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f04]
fldcw word [ebp - 0x7efe]
mov ebx, dword [ebp - 0x7f04]
push ebx
add ebx, 1
fild dword [esp]
add esp, 4
fmul dword [ebp + 8]
fadd dword [0x12c4e0c]
fstp qword [esp]
call sub.msvcrt.dll_log
fmul dword [0x12c4e3c]
fsub qword [0x12c4e58]
fadd st(0)
fstp qword [esp]
call sub.msvcrt.dll_ceil
push ebx
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f3c]
fldcw word [ebp - 0x7efe]
fild dword [esp]
add esp, 4
fmul dword [ebp + 8]
fstp qword [esp]
call sub.msvcrt.dll_log
mov eax, dword [ebp - 0x7f3c]
cmp dword [ebp - 0x7f48], eax
jge 0xcb1e24
mov edx, dword [ebp - 0x7f48]
mov dword [ebp - 0x7f3c], edx
fmul dword [0x12c4e3c]
fsub dword [0x12c4e34]
fadd st(0)
fstp qword [esp]
call sub.msvcrt.dll_floor
mov ecx, dword [ebp - 0x7f48]
lea edx, [ebp - 0x7ef8]
mov dword [ebp - 0x7f1c], 0x10
mov edi, dword [ebp - 0x7f5c]
mov dword [ebp - 0x7f40], 0
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f04]
fldcw word [ebp - 0x7efe]
mov eax, dword [ebp - 0x7f04]
mov esi, dword [edi + ecx*4]
mov edi, dword [ebp - 0x7f3c]
cmp eax, 0x10
cmovg eax, dword [ebp - 0x7f1c]
shl edi, 8
mov dword [ebp - 0x7f78], edi
mov dword [ebp - 0x7f1c], eax
imul eax, ecx, 0x700
add ecx, 1
mov dword [ebp - 0x7f70], ecx
add edx, eax
mov eax, dword [ebp - 0x7f3c]
mov dword [ebp - 0x7f2c], edx
shl eax, 0xb
mov dword [ebp - 0x7f7c], eax
mov edx, dword [ebp - 0x7f40]
mov dword [esp], 0xe8
shl edx, 2
mov dword [ebp - 0x7f4c], edx
call sub.msvcrt.dll_malloc
mov ecx, dword [ebp - 0x7f4c]
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x7f64]
test eax, eax
jle 0xcb16a3
mov edi, dword [ebp - 0x7f68]
xor eax, eax
mov dword [edi + eax*4], 0x4479c000
add eax, 1
cmp eax, dword [ebp - 0x7f64]
jne 0xcb1691
mov eax, dword [ebp - 0x7f1c]
cmp dword [ebp - 0x7f3c], eax
jg 0xcb19f8
imul edx, dword [ebp - 0x7f40], 0xe0
mov eax, dword [ebp - 0x7f7c]
lea ecx, [ebp - 0x7ef8]
sub eax, dword [ebp - 0x7f78]
mov edi, dword [ebp - 0x7f3c]
mov dword [ebp - 0x7f74], edx
lea eax, [edx + eax]
add ecx, eax
mov dword [ebp - 0x7f30], ecx
mov dword [ebp - 0x7f44], edi
fild dword [ebp - 0x7f44]
lea edi, [ebp - 0x7ef8]
xor esi, esi
fmul dword [0x12c4e10]
mov dword [ebp - 0x7f0c], 0
imul eax, dword [ebp - 0x7f44], 0x700
add eax, dword [ebp - 0x7f74]
fstp qword [ebp - 0x7f18]
add edi, eax
jmp 0xcb174d
fstp dword [eax]
add esi, 1
add eax, 4
cmp esi, edx
jl 0xcb187c
add dword [ebp - 0x7f0c], 1
add edi, 4
cmp dword [ebp - 0x7f0c], 0x38
je 0xcb1990
fild dword [ebp - 0x7f0c]
fmul dword [0x12c4e44]
fadd qword [ebp - 0x7f18]
fld st(0)
fsub dword [0x12c4e48]
fadd qword [0x12c4e58]
fmul qword [0x12c4e60]
fstp qword [esp]
fstp qword [ebp - 0x7f98]
call sub.msvcrt.dll_exp
fdiv qword [ebp - 0x7f38]
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f04]
fldcw word [ebp - 0x7efe]
mov ebx, dword [ebp - 0x7f04]
fld qword [ebp - 0x7f98]
fsub dword [0x12c4e4c]
fadd qword [0x12c4e58]
fmul qword [0x12c4e60]
fstp qword [esp]
call sub.msvcrt.dll_exp
cmp esi, dword [ebp - 0x7f64]
cmovg esi, dword [ebp - 0x7f64]
xor edx, edx
test ebx, ebx
cmovs ebx, edx
cmp esi, ebx
fdiv qword [ebp - 0x7f38]
cmovg esi, ebx
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fadd qword [0x12c4df0]
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f04]
fldcw word [ebp - 0x7efe]
mov eax, dword [ebp - 0x7f04]
test eax, eax
cmovs eax, edx
mov edx, dword [ebp - 0x7f64]
cmp eax, dword [ebp - 0x7f64]
cmovle edx, eax
cmp edx, esi
jle 0xcb1736
cmp dword [ebp - 0x7f64], esi
jle 0xcb1736
mov ecx, dword [ebp - 0x7f68]
lea eax, [ecx + esi*4]
lea esi, [esi]
fld dword [edi]
fld dword [eax]
fucompi st(1)
ja 0xcb1726
fstp st(0)
add esi, 1
add eax, 4
cmp esi, edx
jge 0xcb1736
cmp dword [ebp - 0x7f64], esi
jg 0xcb1860
jmp 0xcb1736
fstp st(0)
mov edx, dword [ebp - 0x7f80]
imul eax, esi, 0xe0
mov ebx, 0x10
lea ecx, [ebp - 0x7ef8]
sub edx, edi
add eax, edx
add ecx, eax
mov edx, ebx
sar edx, 0x1f
mov eax, edx
xor eax, ebx
sub eax, edx
push eax
fild dword [esp]
add esp, 4
fmul dword [ebp + 0x10]
fadd dword [ebp + 0xc]
fldz
fucomi st(1)
fcmovbe st(0), st(1)
fstp st(1)
sub ebx, 1
fadd dword [ecx]
fstp dword [ecx]
add ecx, 4
cmp ebx, 0xffffffd8
jne 0xcb18a8
jmp 0xcb12d0
fxch st(1)
fucompi st(1)
fstp st(0)
ja 0xcb1937
mov edx, dword [ebp - 0x7f80]
imul eax, esi, 0xe0
mov ebx, 0x10
lea ecx, [ebp - 0x7ef8]
sub edx, edi
add eax, edx
add ecx, eax
mov edx, ebx
sar edx, 0x1f
mov eax, edx
xor eax, ebx
sub eax, edx
push eax
fild dword [esp]
add esp, 4
fmul dword [ebp + 0x10]
fadd dword [ebp + 0xc]
fldz
fxch st(1)
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
sub ebx, 1
fadd dword [ecx]
fstp dword [ecx]
add ecx, 4
cmp ebx, 0xffffffd8
jne 0xcb1901
jmp 0xcb12d0
mov edx, dword [ebp - 0x7f80]
imul eax, esi, 0xe0
mov ecx, 0x10
lea ebx, [ebp - 0x7ef8]
sub edx, edi
add eax, edx
add ebx, eax
mov edx, ecx
sar edx, 0x1f
mov eax, edx
xor eax, ecx
sub eax, edx
push eax
fild dword [esp]
add esp, 4
fmul dword [ebp + 0x10]
fadd dword [ebp + 0xc]
fldz
fucomi st(1)
ja 0xcb1978
fxch st(1)
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fadd dword [ebx]
sub ecx, 1
fstp dword [ebx]
add ebx, 4
cmp ecx, 0xffffffd8
jne 0xcb1954
jmp 0xcb12d0
cmp dword [ebp - 0x7f64], esi
jle 0xcb19d5
mov edi, dword [ebp - 0x7f68]
lea eax, [edi + esi*4]
jmp 0xcb19b3
fstp dword [eax]
add esi, 1
add eax, 4
cmp dword [ebp - 0x7f64], esi
jle 0xcb19d5
mov edx, dword [ebp - 0x7f30]
fld dword [edx + 0xdc]
fld dword [eax]
fucompi st(1)
ja 0xcb19a3
fstp st(0)
add esi, 1
add eax, 4
cmp dword [ebp - 0x7f64], esi
jg 0xcb19b3
add dword [ebp - 0x7f44], 1
mov ecx, dword [ebp - 0x7f1c]
add dword [ebp - 0x7f30], 0x700
cmp dword [ebp - 0x7f44], ecx
jle 0xcb16ee
cmp dword [ebp - 0x7f48], 0x10
je 0xcb1b8d
imul eax, dword [ebp - 0x7f40], 0xe0
xor esi, esi
imul edx, dword [ebp - 0x7f70], 0x700
lea edi, [ebp - 0x7ef8]
mov dword [ebp - 0x7f10], 0
add eax, edx
add edi, eax
jmp 0xcb1a58
fstp dword [eax]
add esi, 1
add eax, 4
cmp esi, edx
jl 0xcb1b80
add dword [ebp - 0x7f10], 1
add edi, 4
cmp dword [ebp - 0x7f10], 0x38
je 0xcb1ddc
fild dword [ebp - 0x7f10]
fmul dword [0x12c4e44]
fadd qword [ebp - 0x7f58]
fld st(0)
fsub dword [0x12c4e48]
fadd qword [0x12c4e58]
fmul qword [0x12c4e60]
fstp qword [esp]
fstp qword [ebp - 0x7f98]
call sub.msvcrt.dll_exp
fdiv qword [ebp - 0x7f38]
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f04]
fldcw word [ebp - 0x7efe]
mov ebx, dword [ebp - 0x7f04]
fld qword [ebp - 0x7f98]
fsub dword [0x12c4e4c]
fadd qword [0x12c4e58]
fmul qword [0x12c4e60]
fstp qword [esp]
call sub.msvcrt.dll_exp
cmp esi, dword [ebp - 0x7f64]
cmovg esi, dword [ebp - 0x7f64]
xor edx, edx
test ebx, ebx
cmovs ebx, edx
cmp esi, ebx
fdiv qword [ebp - 0x7f38]
cmovg esi, ebx
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fadd qword [0x12c4df0]
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f04]
fldcw word [ebp - 0x7efe]
mov eax, dword [ebp - 0x7f04]
test eax, eax
cmovs eax, edx
mov edx, dword [ebp - 0x7f64]
cmp eax, dword [ebp - 0x7f64]
cmovle edx, eax
cmp edx, esi
jle 0xcb1a41
cmp dword [ebp - 0x7f64], esi
jle 0xcb1a41
mov ecx, dword [ebp - 0x7f68]
lea eax, [ecx + esi*4]
fld dword [edi]
fld dword [eax]
fucompi st(1)
ja 0xcb1a31
fstp st(0)
add esi, 1
add eax, 4
cmp esi, edx
jge 0xcb1a41
cmp dword [ebp - 0x7f64], esi
jg 0xcb1b64
jmp 0xcb1a41
xor ebx, ebx
nop
jmp 0xcb1bc5
mov edx, dword [ebp - 0x7f48]
mov ecx, dword [ebp - 0x7f5c]
mov edi, dword [ebp - 0x7f4c]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi + edi]
mov edi, dword [ebp - 0x7f68]
lea edx, [ecx + 8]
mov eax, dword [edi + eax*4]
mov dword [edx + ebx*4], eax
add ebx, 1
cmp ebx, 0x38
je 0xcb1c68
push ebx
fild dword [esp]
add esp, 4
fmul dword [0x12c4e44]
fadd qword [ebp - 0x7f58]
fsub dword [0x12c4e50]
fadd dword [0x12c4e34]
fmul dword [0x12c4e38]
fstp qword [esp]
call sub.msvcrt.dll_exp
fdiv qword [ebp - 0x7f38]
fnstcw word [ebp - 0x7efe]
movzx eax, word [ebp - 0x7efe]
mov ah, 0xc
mov word [ebp - 0x7f00], ax
fldcw word [ebp - 0x7f00]
fistp dword [ebp - 0x7f04]
fldcw word [ebp - 0x7efe]
mov eax, dword [ebp - 0x7f04]
test eax, eax
js 0xcb1db5
cmp dword [ebp - 0x7f64], eax
jg 0xcb1b92
mov edx, dword [ebp - 0x7f48]
mov ecx, dword [ebp - 0x7f5c]
mov edi, dword [ebp - 0x7f4c]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi + edi]
lea edx, [ecx + 8]
mov dword [edx + ebx*4], 0xc479c000
add ebx, 1
ret
add dword [ebx - 0x7af0c705], eax
pop ebp
invalid
invalid
invalid
fld dword [edx]
xor eax, eax
fld dword [0x12c4e54]
fxch st(1)
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 4]
mov al, 1
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 8]
mov al, 2
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0xc]
mov al, 3
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x10]
mov al, 4
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x14]
mov al, 5
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x18]
mov al, 6
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x1c]
mov al, 7
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x20]
mov al, 8
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x24]
mov al, 9
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x28]
mov al, 0xa
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x2c]
mov al, 0xb
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x30]
mov al, 0xc
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x34]
mov al, 0xd
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x38]
mov al, 0xe
fucompi st(1)
ja 0xcb1e1d
fld dword [edx + 0x3c]
xor eax, eax
fucompi st(1)
fstp st(0)
setbe al
add eax, 0xf
push eax
mov eax, 0x37
fild dword [esp]
add esp, 4
fstp dword [ecx]
jmp 0xcb1d59
sub eax, 1
cmp eax, 0x11
je 0xcb1d6a
fld dword [edx + eax*4]
fld dword [0x12c4e54]
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0xcb1d51
push eax
add dword [ebp - 0x7f40], 1
fild dword [esp]
add esp, 4
add dword [ebp - 0x7f2c], 0xe0
cmp dword [ebp - 0x7f40], 8
fstp dword [ecx + 4]
jne 0xcb165b
mov eax, dword [ebp - 0x7f70]
cmp eax, 0x11
mov dword [ebp - 0x7f48], eax
jne 0xcb149d
mov eax, dword [ebp - 0x7f5c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebp - 0x7f48]
mov edi, dword [ebp - 0x7f5c]
mov eax, dword [ebp - 0x7f4c]
mov esi, dword [edi + ecx*4]
mov ecx, dword [esi + eax]
lea edx, [ecx + 8]
mov dword [edx + ebx*4], 0xc479c000
jmp 0xcb1bb9
cmp dword [ebp - 0x7f64], esi
jle 0xcb1b8d
mov edi, dword [ebp - 0x7f68]
lea eax, [edi + esi*4]
jmp 0xcb1e07
fstp dword [eax]
add esi, 1
add eax, 4
cmp dword [ebp - 0x7f64], esi
jle 0xcb1b8d
mov edx, dword [ebp - 0x7f2c]
fld dword [edx + 0x7dc]
fld dword [eax]
fucompi st(1)
ja 0xcb1df3
fstp st(0)
jmp 0xcb1df5
fstp st(0)
jmp 0xcb1d41
mov eax, dword [ebp - 0x7f3c]
test eax, eax
mov eax, 0
cmovns eax, dword [ebp - 0x7f3c]
mov dword [ebp - 0x7f3c], eax
jmp 0xcb15a9