Function at 0xd63fb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x7f98
call fcn.01087f10
sub esp, eax
mov eax, dword [ebp - 0x10]
fld dword [ebp + 0xc]
fld dword [ebp + 0x10]
fxch st(1)
mov dword [ebp - 0x7f30], edx
mov dword [ebp - 0x7f40], eax
lea eax, [edx*4 + 0x1e]
and eax, 0xfffffff0
call fcn.01087f10
sub esp, eax
fstp dword [ebp - 0x7f88]
fstp dword [ebp - 0x7f68]
mov dword [esp], 0x44
lea ebx, [esp + 0x1b]
call sub.msvcrt.dll_malloc
lea edx, [ebp - 0x7ef8]
and ebx, 0xfffffff0
mov dword [ebp - 0x7f0c], edx
lea esi, [ebp - 0xf8]
mov dword [esp], edx
mov dword [esp + 8], 0x7700
mov dword [esp + 4], 0
mov dword [ebp - 0x7f48], eax
call sub.msvcrt.dll_memset
mov edx, dword [ebp - 0x7f0c]
lea eax, [ebp - 0x7f8]
mov dword [ebp - 0x7f08], eax
mov dword [ebp - 0x7f44], ebx
mov dword [ebp - 0x7f20], 0x13efb00
mov dword [ebp - 0x7f28], 0
mov dword [ebp - 0x7f14], esi
fldz
fld dword [ebp - 0x7f88]
fucomi st(1)
fxch st(1)
seta byte [ebp - 0x7f38]
fucomi st(1)
seta byte [ebp - 0x7f3c]
sub edx, eax
fld dword [ebp - 0x7f68]
lea eax, [ebp - 0x7ef8]
mov dword [ebp - 0x7f2c], edx
mov ebx, eax
mov dword [ebp - 0x7f10], esi
mov eax, dword [ebp - 0x7f28]
mov ecx, dword [ebp - 0x7f28]
mov dword [ebp - 0x7f4c], ebx
lea eax, [eax*4 + 0x13ef9ac]
mov dword [ebp - 0x7f18], eax
lea esi, [ecx + 1]
xor eax, eax
lea edi, [ecx + 2]
mov edx, dword [ebp - 0x7f18]
jmp 0xd6411c
fld dword [0x13f5908]
fxch st(1)
lea ebx, [eax + esi]
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
cmp ebx, 0x57
jle 0xd6415b
fld dword [0x13f5908]
fxch st(1)
lea ebx, [eax + edi]
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
cmp ebx, 0x57
jle 0xd6416e
fld dword [0x13f5908]
fxch st(1)
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
add edx, 4
cmp eax, 0x38
fstp dword [ebp + eax*4 - 0xfc]
je 0xd64187
cmp ecx, 0x57
fld dword [0x13f5908]
jg 0xd64138
fstp st(0)
fld dword [edx - 0xc]
fld dword [0x13f590c]
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
mov ecx, dword [ebp - 0x7f28]
add eax, 1
add ecx, eax
cmp ecx, 0x57
jg 0xd640d3
fld dword [edx - 8]
fxch st(1)
lea ebx, [eax + esi]
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
cmp ebx, 0x57
jg 0xd640e9
fld dword [edx - 4]
fxch st(1)
lea ebx, [eax + edi]
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
cmp ebx, 0x57
jg 0xd640ff
fld dword [edx]
fxch st(1)
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
add edx, 4
cmp eax, 0x38
fstp dword [ebp + eax*4 - 0xfc]
jne 0xd6411c
mov ebx, dword [ebp - 0x7f4c]
mov al, 0xe0
mov esi, dword [ebp - 0x7f20]
lea edi, [ebx + 0x1c0]
test edi, 1
je 0xd641c0
movzx eax, byte [esi]
lea edi, [ebx + 0x1c1]
mov byte [ebx + 0x1c0], al
mov esi, dword [ebp - 0x7f20]
mov eax, 0xdf
add esi, 1
test edi, 2
je 0xd641d7
movzx edx, word [esi]
sub eax, 2
add esi, 2
mov word [edi], dx
add edi, 2
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0xd641ef
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0xd641fa
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [ebp - 0x7f20]
lea edi, [ebx + 0x2a0]
test edi, 1
lea esi, [eax + 0xe0]
mov eax, 0xe0
je 0xd64243
mov esi, dword [ebp - 0x7f20]
lea edi, [ebx + 0x2a1]
movzx eax, byte [esi + 0xe0]
mov byte [ebx + 0x2a0], al
mov esi, dword [ebp - 0x7f20]
mov eax, 0xdf
add esi, 0xe1
test edi, 2
je 0xd6425a
movzx edx, word [esi]
sub eax, 2
add esi, 2
mov word [edi], dx
add edi, 2
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0xd64272
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0xd6427d
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [ebp - 0x7f20]
lea edi, [ebx + 0x380]
test edi, 1
lea esi, [eax + 0x1c0]
mov eax, 0xe0
je 0xd642c6
mov esi, dword [ebp - 0x7f20]
lea edi, [ebx + 0x381]
movzx eax, byte [esi + 0x1c0]
mov byte [ebx + 0x380], al
mov esi, dword [ebp - 0x7f20]
mov eax, 0xdf
add esi, 0x1c1
test edi, 2
je 0xd642dd
movzx edx, word [esi]
sub eax, 2
add esi, 2
mov word [edi], dx
add edi, 2
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0xd642f5
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0xd64300
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [ebp - 0x7f20]
lea edi, [ebx + 0x460]
test edi, 1
lea esi, [eax + 0x2a0]
mov eax, 0xe0
je 0xd64349
mov esi, dword [ebp - 0x7f20]
lea edi, [ebx + 0x461]
movzx eax, byte [esi + 0x2a0]
mov byte [ebx + 0x460], al
mov esi, dword [ebp - 0x7f20]
mov eax, 0xdf
add esi, 0x2a1
test edi, 2
je 0xd64360
movzx edx, word [esi]
sub eax, 2
add esi, 2
mov word [edi], dx
add edi, 2
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0xd64378
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0xd64383
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [ebp - 0x7f20]
lea edi, [ebx + 0x540]
test edi, 1
lea esi, [eax + 0x380]
mov eax, 0xe0
je 0xd643cc
mov esi, dword [ebp - 0x7f20]
lea edi, [ebx + 0x541]
movzx eax, byte [esi + 0x380]
mov byte [ebx + 0x540], al
mov esi, dword [ebp - 0x7f20]
mov eax, 0xdf
add esi, 0x381
test edi, 2
je 0xd643e3
movzx edx, word [esi]
sub eax, 2
add esi, 2
mov word [edi], dx
add edi, 2
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0xd643fb
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0xd64406
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [ebp - 0x7f20]
lea edi, [ebx + 0x620]
test edi, 1
lea esi, [eax + 0x460]
mov eax, 0xe0
je 0xd6444f
mov esi, dword [ebp - 0x7f20]
lea edi, [ebx + 0x621]
movzx eax, byte [esi + 0x460]
mov byte [ebx + 0x620], al
mov esi, dword [ebp - 0x7f20]
mov eax, 0xdf
add esi, 0x461
test edi, 2
je 0xd64466
movzx edx, word [esi]
sub eax, 2
add esi, 2
mov word [edi], dx
add edi, 2
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0xd6447e
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0xd64489
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov esi, dword [ebp - 0x7f20]
mov ecx, 0x38
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0xe0]
test al, 1
mov edi, eax
mov dword [ebp - 0x7f18], 0xe0
mov esi, dword [ebp - 0x7f20]
je 0xd644d6
movzx edx, byte [esi]
lea edi, [ebx + 0xe1]
mov byte [ebx + 0xe0], dl
mov esi, dword [ebp - 0x7f20]
mov dword [ebp - 0x7f18], 0xdf
add esi, 1
test edi, 2
je 0xd644f1
movzx edx, word [esi]
add esi, 2
mov word [edi], dx
add edi, 2
sub dword [ebp - 0x7f18], 2
mov ecx, dword [ebp - 0x7f18]
xor edx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
test byte [ebp - 0x7f18], 2
je 0xd64512
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test byte [ebp - 0x7f18], 1
je 0xd64522
movzx ecx, byte [esi + edx]
mov byte [edi + edx], cl
xor edx, edx
cmp byte [ebp - 0x7f3c], 0
lea edi, [ebx + 0x700]
mov dword [ebp - 0x7f18], edi
mov edi, 0x10
je 0xd6459f
cmp byte [ebp - 0x7f38], 0
jne 0xd646f4
mov ecx, edi
sub ecx, edx
mov esi, ecx
sar esi, 0x1f
xor ecx, esi
sub ecx, esi
mov dword [ebp - 0x7f00], ecx
fild dword [ebp - 0x7f00]
fmul st(1)
fadd st(3)
fldz
fxch st(1)
fucomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fadd dword [ebx + edx*4]
fstp dword [ebx + edx*4]
add edx, 1
cmp edx, 0x38
jne 0xd6454b
cmp eax, dword [ebp - 0x7f18]
mov ebx, eax
je 0xd645e1
add eax, 0xe0
xor edx, edx
cmp byte [ebp - 0x7f3c], 0
mov edi, 0x10
jne 0xd6453e
cmp byte [ebp - 0x7f38], 0
jne 0xd6471f
mov ecx, edi
sub ecx, edx
mov esi, ecx
sar esi, 0x1f
xor ecx, esi
sub ecx, esi
mov dword [ebp - 0x7f00], ecx
fild dword [ebp - 0x7f00]
fmul st(1)
fadd st(3)
fadd dword [ebx + edx*4]
fstp dword [ebx + edx*4]
add edx, 1
cmp edx, 0x38
jne 0xd645ac
cmp eax, dword [ebp - 0x7f18]
mov ebx, eax
jne 0xd6458a
mov eax, dword [ebp - 0x7f28]
mov edx, dword [ebp - 0x7f40]
fld dword [0x13f5934]
mov dword [ebp - 0x7f18], 0
fadd dword [edx + eax]
lea eax, [ebp - 0x7f8]
fld dword [0x13f5910]
fld dword [0x13f5930]
fxch st(1)
fsubr st(2)
mov edx, dword [ebp - 0x7f2c]
xor ecx, ecx
fsub st(1)
add edx, eax
fstp dword [ebp - 0x7efc]
fld dword [ebp - 0x7efc]
fld dword [edx + ecx*4]
fadd st(1)
fstp dword [edx + ecx*4]
add ecx, 1
cmp ecx, 0x38
jne 0xd6462e
fstp st(0)
mov esi, dword [ebp - 0x7f14]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
fild dword [ebp - 0x7f18]
fmul dword [0x13f5924]
fld dword [0x13f5934]
fsubrp st(1)
fsub dword [0x13f5930]
fstp dword [ebp - 0x7efc]
fld dword [ebp - 0x7efc]
fld dword [eax + ecx*4]
fadd st(1)
fstp dword [eax + ecx*4]
add ecx, 1
cmp ecx, 0x38
jne 0xd64670
fstp st(0)
xor cl, cl
fld dword [edx + ecx*4]
fld dword [eax + ecx*4]
fxch st(1)
fucomi st(1)
fstp st(1)
jbe 0xd64697
fstp dword [eax + ecx*4]
jmp 0xd64699
fstp st(0)
add ecx, 1
cmp ecx, 0x38
jne 0xd64684
add dword [ebp - 0x7f18], 1
cmp dword [ebp - 0x7f18], 8
je 0xd64757
cmp dword [ebp - 0x7f18], 1
je 0xd64ecc
fild dword [ebp - 0x7f18]
fmul dword [0x13f5924]
add eax, 0xe0
jmp 0xd64614
fstp st(2)
fxch st(1)
fld st(0)
fxch st(2)
fxch st(1)
fadd dword [ebx + edx*4]
fstp dword [ebx + edx*4]
add edx, 1
cmp edx, 0x38
je 0xd64580
mov ecx, edi
sub ecx, edx
mov esi, ecx
sar esi, 0x1f
xor ecx, esi
sub ecx, esi
mov dword [ebp - 0x7f00], ecx
fild dword [ebp - 0x7f00]
fmul st(1)
fadd st(3)
fxch st(2)
fucomi st(2)
ja 0xd646d8
fxch st(2)
fucomi st(2)
fcmovnbe st(0), st(2)
jmp 0xd646e2
mov ecx, edi
sub ecx, edx
mov esi, ecx
sar esi, 0x1f
xor ecx, esi
sub ecx, esi
mov dword [ebp - 0x7f00], ecx
fild dword [ebp - 0x7f00]
fmul st(1)
fadd st(3)
fldz
fucomi st(1)
fcmovbe st(0), st(1)
fstp st(1)
fadd dword [ebx + edx*4]
fstp dword [ebx + edx*4]
add edx, 1
cmp edx, 0x38
jne 0xd6471f
jmp 0xd64580
fstp st(0)
fstp st(0)
lea edx, [ebp - 0x718]
lea ecx, [edx - 0xe0]
xor eax, eax
fld dword [ecx + eax*4]
fld dword [edx + eax*4]
fucompi st(1)
jbe 0xd64778
fstp dword [edx + eax*4]
jmp 0xd6477a
fstp st(0)
add eax, 1
cmp eax, 0x38
jne 0xd64769
mov ecx, dword [ebp - 0x7f2c]
xor al, al
add ecx, edx
fld dword [edx + eax*4]
fld dword [ecx + eax*4]
fucompi st(1)
jbe 0xd6479b
fstp dword [ecx + eax*4]
jmp 0xd6479d
fstp st(0)
add eax, 1
cmp eax, 0x38
jne 0xd6478c
add edx, 0xe0
cmp edx, dword [ebp - 0x7f10]
jne 0xd64761
add dword [ebp - 0x7f28], 4
add dword [ebp - 0x7f2c], 0x700
add dword [ebp - 0x7f20], 0x540
cmp dword [ebp - 0x7f28], 0x44
jne 0xd640a4
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [ebp + 8]
mov esi, dword [ebp - 0x7f30]
fstp qword [ebp - 0x7f20]
mov ebx, dword [ebp - 0x7f44]
mov dword [ebp - 0x7f2c], 0
mov dword [ebp - 0x7f44], 0x700
mov dword [esp], 0x20
call sub.msvcrt.dll_malloc
mov edx, dword [ebp - 0x7f2c]
mov ecx, dword [ebp - 0x7f48]
fild dword [ebp - 0x7f2c]
fmul dword [0x13f5900]
mov dword [ecx + edx*4], eax
fst qword [ebp - 0x7f38]
fld dword [0x13f5938]
fadd st(1), st(0)
fxch st(1)
fmul dword [0x13f593c]
fstp qword [esp]
fstp qword [ebp - 0x7f88]
call fcn.010893c0
fdiv qword [ebp - 0x7f20]
fstp qword [esp]
call sub.msvcrt.dll_floor
fnstcw word [ebp - 0x7f02]
movzx eax, word [ebp - 0x7f02]
mov ah, 0xc
mov word [ebp - 0x7f04], ax
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f00]
fldcw word [ebp - 0x7f02]
mov edi, dword [ebp - 0x7f00]
mov dword [ebp - 0x7f00], edi
add edi, 1
fild dword [ebp - 0x7f00]
fmul dword [ebp + 8]
fadd dword [0x13f5904]
fstp qword [esp]
call fcn.01088550
fld dword [0x13f5940]
fmul st(1), st(0)
fld qword [ebp - 0x7f88]
fsubp st(2)
fxch st(1)
fadd st(0)
fstp qword [esp]
fstp qword [ebp - 0x7f78]
call sub.msvcrt.dll_ceil
mov dword [ebp - 0x7f00], edi
fnstcw word [ebp - 0x7f02]
movzx eax, word [ebp - 0x7f02]
mov ah, 0xc
mov word [ebp - 0x7f04], ax
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f30]
fldcw word [ebp - 0x7f02]
fild dword [ebp - 0x7f00]
fmul dword [ebp + 8]
fstp qword [esp]
call fcn.01088550
fld qword [ebp - 0x7f78]
fmulp st(1)
fld qword [ebp - 0x7f88]
fsubp st(1)
fadd st(0)
fstp qword [esp]
call sub.msvcrt.dll_floor
mov edx, dword [ebp - 0x7f2c]
cmp dword [ebp - 0x7f30], edx
fnstcw word [ebp - 0x7f02]
movzx eax, word [ebp - 0x7f02]
mov ah, 0xc
mov word [ebp - 0x7f04], ax
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f00]
fldcw word [ebp - 0x7f02]
mov eax, dword [ebp - 0x7f00]
jg 0xd650ca
mov edi, dword [ebp - 0x7f30]
mov ecx, 0
test edi, edi
cmovns ecx, dword [ebp - 0x7f30]
mov dword [ebp - 0x7f30], ecx
mov ecx, dword [ebp - 0x7f2c]
cmp eax, 0x10
mov edx, 0x10
cmovle edx, eax
mov eax, dword [ebp - 0x7f48]
mov dword [ebp - 0x7f58], edx
lea edx, [ebp - 0x7ef8]
add edx, dword [ebp - 0x7f44]
mov dword [ebp - 0x7f54], 0x700
mov edi, dword [eax + ecx*4]
lea ecx, [ebp - 0x7ef8]
imul eax, dword [ebp - 0x7f30], 0x700
mov dword [ebp - 0x7f40], edx
mov edx, dword [ebp - 0x7f44]
sub dword [ebp - 0x7f54], edx
add ecx, eax
mov dword [ebp - 0x7f50], ecx
mov dword [ebp - 0x7f3c], 0
mov dword [esp], 0xe8
call sub.msvcrt.dll_malloc
mov ecx, dword [ebp - 0x7f3c]
test esi, esi
mov dword [edi + ecx], eax
jle 0xd64a19
xor eax, eax
mov dword [ebx + eax*4], 0x4479c000
add eax, 1
cmp eax, esi
jne 0xd64a0b
mov edx, dword [ebp - 0x7f30]
mov ecx, dword [ebp - 0x7f58]
mov edi, dword [ebp - 0x7f50]
mov dword [ebp - 0x7f4c], edx
cmp edx, ecx
mov dword [ebp - 0x7f18], edi
jg 0xd64c06
fild dword [ebp - 0x7f4c]
xor edi, edi
xor eax, eax
fmul dword [0x13f5900]
fstp qword [ebp - 0x7f28]
mov dword [ebp - 0x7f00], eax
fild dword [ebp - 0x7f00]
fmul dword [0x13f5944]
mov dword [ebp - 0x7f8c], eax
fadd qword [ebp - 0x7f28]
fld st(0)
fsub dword [0x13f5948]
fld dword [0x13f5938]
fadd st(1), st(0)
fld dword [0x13f593c]
fmul st(2), st(0)
fxch st(2)
fstp qword [esp]
fxch st(2)
fstp qword [ebp - 0x7f88]
fstp qword [ebp - 0x7f78]
fstp qword [ebp - 0x7f68]
call fcn.010893c0
fdiv qword [ebp - 0x7f20]
fnstcw word [ebp - 0x7f02]
movzx edx, word [ebp - 0x7f02]
mov dh, 0xc
mov word [ebp - 0x7f04], dx
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f00]
fldcw word [ebp - 0x7f02]
mov ecx, dword [ebp - 0x7f00]
fld qword [ebp - 0x7f88]
fsub dword [0x13f594c]
mov dword [ebp - 0x7f5c], ecx
fld qword [ebp - 0x7f68]
faddp st(1)
fld qword [ebp - 0x7f78]
fmulp st(1)
fstp qword [esp]
call fcn.010893c0
mov ecx, dword [ebp - 0x7f5c]
cmp edi, esi
cmovg edi, esi
mov eax, dword [ebp - 0x7f8c]
mov dword [ebp - 0x7f08], edi
mov edi, 0
test ecx, ecx
cmovs ecx, edi
mov edi, dword [ebp - 0x7f08]
fdiv qword [ebp - 0x7f20]
fnstcw word [ebp - 0x7f02]
cmp dword [ebp - 0x7f08], ecx
movzx edx, word [ebp - 0x7f02]
cmovg edi, ecx
mov ecx, 0
mov dh, 0xc
mov word [ebp - 0x7f04], dx
fadd dword [0x13f5904]
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f00]
fldcw word [ebp - 0x7f02]
mov edx, dword [ebp - 0x7f00]
test edx, edx
cmovs edx, ecx
cmp edx, esi
cmovg edx, esi
cmp edx, edi
jle 0xd64bb2
cmp esi, edi
jle 0xd64bb2
mov ecx, dword [ebp - 0x7f18]
fld dword [ecx + eax*4]
jmp 0xd64b97
cmp edx, edi
jle 0xd64bb0
fld dword [ebx + edi*4]
fucompi st(1)
jbe 0xd64ba1
fst dword [ebx + edi*4]
add edi, 1
cmp esi, edi
jg 0xd64b93
fstp st(0)
jmp 0xd64bb2
fstp st(0)
add eax, 1
cmp eax, 0x38
jne 0xd64a55
cmp esi, edi
jle 0xd64be3
mov eax, dword [ebp - 0x7f18]
fld dword [eax + 0xdc]
nop
fld dword [ebx + edi*4]
fucompi st(1)
jbe 0xd64bda
fst dword [ebx + edi*4]
add edi, 1
cmp edi, esi
jne 0xd64bd0
fstp st(0)
add dword [ebp - 0x7f4c], 1
mov edx, dword [ebp - 0x7f4c]
add dword [ebp - 0x7f18], 0x700
cmp dword [ebp - 0x7f58], edx
jge 0xd64a3f
xor edi, edi
xor eax, eax
cmp dword [ebp - 0x7f2c], 0x10
jne 0xd64ee5
mov edx, 8
xor edi, edi
mov dword [ebp - 0x7f28], ebx
mov ebx, edx
mov dword [ebp - 0x7f18], esi
jmp 0xd64c4d
mov ecx, dword [ebp - 0x7f3c]
mov eax, dword [edx + ecx]
mov dword [eax + ebx], 0xc479c000
add edi, 1
add ebx, 4
cmp edi, 0x38
je 0xd64cfa
mov dword [ebp - 0x7f00], edi
fild dword [ebp - 0x7f00]
fmul dword [0x13f5944]
fadd qword [ebp - 0x7f38]
fsub dword [0x13f591c]
fadd dword [0x13f5938]
fmul dword [0x13f593c]
fstp qword [esp]
call fcn.010893c0
fdiv qword [ebp - 0x7f20]
fnstcw word [ebp - 0x7f02]
movzx eax, word [ebp - 0x7f02]
mov ah, 0xc
mov word [ebp - 0x7f04], ax
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f00]
fldcw word [ebp - 0x7f02]
mov ecx, dword [ebp - 0x7f00]
test ecx, ecx
js 0xd65060
mov esi, dword [ebp - 0x7f2c]
mov eax, dword [ebp - 0x7f48]
cmp dword [ebp - 0x7f18], ecx
mov edx, dword [eax + esi*4]
jle 0xd64c2e
mov esi, dword [ebp - 0x7f3c]
add edi, 1
mov eax, dword [edx + esi]
mov esi, dword [ebp - 0x7f28]
mov ecx, dword [esi + ecx*4]
mov dword [eax + ebx], ecx
add ebx, 4
cmp edi, 0x38
jne 0xd64c4d
fld dword [eax + 8]
mov edi, edx
xor edx, edx
fld dword [0x13f5950]
fxch st(1)
fucompi st(1)
mov esi, dword [ebp - 0x7f18]
mov ebx, dword [ebp - 0x7f28]
ja 0xd64dfa
fld dword [eax + 0xc]
mov edx, 0x3f800000
fucompi st(1)
ja 0xd64dfe
fld dword [eax + 0x10]
mov edx, 0x40000000
fucompi st(1)
ja 0xd64e02
fld dword [eax + 0x14]
mov edx, 0x40400000
fucompi st(1)
ja 0xd64e06
fld dword [eax + 0x18]
mov edx, 0x40800000
fucompi st(1)
ja 0xd64e0a
fld dword [eax + 0x1c]
mov edx, 0x40a00000
fucompi st(1)
ja 0xd64e12
fld dword [eax + 0x20]
mov edx, 0x40c00000
fucompi st(1)
ja 0xd64e16
fld dword [eax + 0x24]
mov edx, 0x40e00000
fucompi st(1)
ja 0xd64e1a
fld dword [eax + 0x28]
mov edx, 0x41000000
fucompi st(1)
ja 0xd64e22
fld dword [eax + 0x2c]
mov edx, 0x41100000
fucompi st(1)
ja 0xd64e26
fld dword [eax + 0x30]
mov edx, 0x41200000
fucompi st(1)
ja 0xd64e2a
fld dword [eax + 0x34]
mov edx, 0x41300000
fucompi st(1)
ja 0xd64e32
fld dword [eax + 0x38]
mov edx, 0x41400000
fucompi st(1)
ja 0xd64e36
fld dword [eax + 0x3c]
mov edx, 0x41500000
fucompi st(1)
ja 0xd64e3a
fld dword [eax + 0x40]
mov edx, 0x41600000
fucompi st(1)
ja 0xd64e42
fld dword [eax + 0x44]
mov edx, 0x41800000
fucompi st(1)
fstp st(0)
cmova edx, dword [0x13f5918]
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
lea esi, [esi]
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
lea esi, [esi]
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
lea esi, [esi]
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
jmp 0xd64e44
fstp st(0)
lea esi, [esi]
jmp 0xd64e44
fstp st(0)
mov dword [eax], edx
fld dword [0x13f5950]
mov edx, 0x37
jmp 0xd64e5f
sub edx, 1
cmp edx, 0x11
je 0xd65084
fld dword [eax + edx*4 + 8]
fucompi st(1)
jbe 0xd64e53
fstp st(0)
mov dword [ebp - 0x7f00], edx
fild dword [ebp - 0x7f00]
add dword [ebp - 0x7f3c], 4
add dword [ebp - 0x7f40], 0xe0
add dword [ebp - 0x7f50], 0xe0
cmp dword [ebp - 0x7f3c], 0x20
fstp dword [eax + 4]
jne 0xd649f0
add dword [ebp - 0x7f2c], 1
add dword [ebp - 0x7f44], 0x700
cmp dword [ebp - 0x7f2c], 0x11
jne 0xd6480a
mov eax, dword [ebp - 0x7f48]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [0x13f5910]
jmp 0xd646ce
fstp st(0)
add eax, 1
cmp eax, 0x38
je 0xd65091
mov dword [ebp - 0x7f00], eax
fild dword [ebp - 0x7f00]
fmul dword [0x13f5944]
mov dword [ebp - 0x7f8c], eax
fadd qword [ebp - 0x7f38]
fld st(0)
fsub dword [0x13f5948]
fld dword [0x13f5938]
fadd st(1), st(0)
fld dword [0x13f593c]
fmul st(2), st(0)
fxch st(2)
fstp qword [esp]
fxch st(2)
fstp qword [ebp - 0x7f88]
fstp qword [ebp - 0x7f78]
fstp qword [ebp - 0x7f68]
call fcn.010893c0
fdiv qword [ebp - 0x7f20]
fnstcw word [ebp - 0x7f02]
movzx edx, word [ebp - 0x7f02]
mov dh, 0xc
mov word [ebp - 0x7f04], dx
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f00]
fldcw word [ebp - 0x7f02]
mov ecx, dword [ebp - 0x7f00]
fld qword [ebp - 0x7f88]
fsub dword [0x13f594c]
mov dword [ebp - 0x7f5c], ecx
fld qword [ebp - 0x7f68]
faddp st(1)
fld qword [ebp - 0x7f78]
fmulp st(1)
fstp qword [esp]
call fcn.010893c0
mov ecx, dword [ebp - 0x7f5c]
cmp edi, esi
cmovg edi, esi
mov eax, dword [ebp - 0x7f8c]
mov dword [ebp - 0x7f28], edi
mov edi, 0
test ecx, ecx
cmovs ecx, edi
mov edi, dword [ebp - 0x7f28]
fdiv qword [ebp - 0x7f20]
fnstcw word [ebp - 0x7f02]
cmp dword [ebp - 0x7f28], ecx
movzx edx, word [ebp - 0x7f02]
cmovg edi, ecx
mov ecx, 0
mov dh, 0xc
mov word [ebp - 0x7f04], dx
fadd dword [0x13f5904]
fldcw word [ebp - 0x7f04]
fistp dword [ebp - 0x7f00]
fldcw word [ebp - 0x7f02]
mov edx, dword [ebp - 0x7f00]
test edx, edx
cmovs edx, ecx
cmp edx, esi
cmovg edx, esi
cmp edx, edi
jle 0xd64ed9
cmp edi, esi
jge 0xd64ed9
mov ecx, dword [ebp - 0x7f40]
fld dword [ecx + eax*4]
jmp 0xd65038
cmp edx, edi
jle 0xd64ed7
fld dword [ebx + edi*4]
fucompi st(1)
jbe 0xd65042
fst dword [ebx + edi*4]
add edi, 1
cmp esi, edi
jg 0xd65030
fstp st(0)
add eax, 1
cmp eax, 0x38
jne 0xd64ee5
jmp 0xd65091
mov ecx, dword [ebp - 0x7f2c]
mov eax, dword [ebp - 0x7f48]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x7f3c]
mov eax, dword [edx + ecx]
mov dword [eax + ebx], 0xc479c000
jmp 0xd64c3e
fstp st(0)
fld dword [0x13f592c]
jmp 0xd64e75
cmp esi, edi
jle 0xd64c17
mov eax, dword [ebp - 0x7f54]
mov edx, dword [ebp - 0x7f44]
add eax, dword [ebp - 0x7f40]
fld dword [eax + edx - 0x624]
fld dword [ebx + edi*4]
fucompi st(1)
jbe 0xd650bc
fst dword [ebx + edi*4]
add edi, 1
cmp edi, esi
jne 0xd650b2
fstp st(0)
jmp 0xd64c17
mov dword [ebp - 0x7f30], edx
mov ecx, edx
jmp 0xd6498c