Function at 0xa3d498
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x14c
mov edx, dword [ebp + 8]
mov dword [ebp - 0x80], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [edx + 0x7ca4]
add eax, 0x478
mov dword [ebp - 0x84], eax
test esi, esi
jle 0xa3dff6
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp + 0x10]
add ecx, 0x478
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x7c9c]
cmp eax, 0
jle 0xa3dfc4
mov dword [ebp - 0xd4], ecx
imul esi, dword [ebp - 0x80], 0x145c
mov eax, 1
mov ebx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
sub eax, ebx
lea ecx, [edi + esi + 0x7d14]
lea edi, [eax + eax*8]
mov dword [ebp - 0x88], ecx
shl edi, 8
mov esi, ecx
lea ebx, [edx + edi + 0xdc04]
xor edi, edi
mov eax, dword [ebp - 0x84]
mov edx, ebx
call fcn.00a3c6a8
mov eax, dword [ebp - 0x84]
lea edx, [ebx + 0x80]
add ebx, 0x100
sub eax, 0xffffff80
call fcn.00a3c6a8
add dword [ebp - 0x84], 0x100
mov eax, 1
mov esi, esi
lea edi, [edi]
xor byte [ebx + eax*4 - 0x7d], 0x80
add eax, 2
cmp eax, 0x1f
jle 0xa3d578
inc edi
cmp edi, 8
jle 0xa3d539
fld dword [0xd7d4e4]
xor edx, edx
mov dword [ebp - 0xe0], edx
fstp dword [ebp - 0xdc]
jmp 0xa3def8
fstp st(0)
cmp dword [ebp - 0x140], 2
je 0xa3e179
fld dword [ecx]
mov edi, dword [ebp - 0x140]
fld dword [ecx + 0x880]
fld dword [ebx]
lea edx, [edi + edi*8]
shl edx, 2
fld dword [0xd7d4ec]
fxch st(2)
lea eax, [edx - 9]
lea edi, [edx - 8]
fmul dword [eax*4 + 0xd7d450]
fxch st(3)
fmul dword [eax*4 + 0xd7d42c]
fxch st(1)
fmul dword [eax*4 + 0xd7d3e4]
fxch st(1)
faddp st(3)
fld dword [ebx + 0x880]
fmul dword [eax*4 + 0xd7d408]
lea eax, [edx - 7]
fsubp st(1)
fld st(1)
fmul st(3)
fxch st(2)
fmul st(1)
fxch st(1)
faddp st(2)
fsubp st(2)
fst dword [ebp - 0x54]
fstp dword [ebp - 0xa8]
fst dword [ebp - 0x78]
fld dword [ecx + 0x80]
fxch st(1)
fstp dword [ebp - 0xa4]
fld dword [ecx + 0x800]
fmul dword [edi*4 + 0xd7d450]
fxch st(1)
fmul dword [edi*4 + 0xd7d42c]
fld dword [ebx + 0x80]
fmul dword [edi*4 + 0xd7d3e4]
fxch st(1)
faddp st(2)
fld dword [ebx + 0x800]
fmul dword [edi*4 + 0xd7d408]
lea edi, [edx - 6]
fsubp st(1)
fld dword [0xd7d4f0]
fld st(0)
fmul st(2)
fxch st(1)
fmul st(3)
fxch st(1)
fsubp st(3)
faddp st(1)
fxch st(1)
fst dword [ebp - 0x74]
fstp dword [ebp - 0x118]
fstp dword [ebp - 0x50]
fld dword [ecx + 0x100]
fld dword [ecx + 0x780]
fmul dword [eax*4 + 0xd7d450]
fxch st(1)
fmul dword [eax*4 + 0xd7d42c]
fld dword [ebx + 0x100]
fmul dword [eax*4 + 0xd7d3e4]
fld dword [0xd7d4f4]
fxch st(2)
faddp st(3)
fld dword [ebx + 0x780]
fmul dword [eax*4 + 0xd7d408]
lea eax, [edx - 5]
fsubp st(1)
fld st(1)
fmul st(3)
fxch st(2)
fmul st(1)
fxch st(1)
faddp st(2)
fsubp st(2)
fxch st(1)
fst dword [ebp - 0x11c]
fstp dword [ebp - 0x70]
fst dword [ebp - 0x4c]
fld dword [ecx + 0x180]
fld dword [ecx + 0x700]
fmul dword [edi*4 + 0xd7d450]
fxch st(1)
fmul dword [edi*4 + 0xd7d42c]
fxch st(2)
fstp dword [ebp - 0x120]
fld dword [ebx + 0x180]
fmul dword [edi*4 + 0xd7d3e4]
fxch st(2)
faddp st(1)
fld dword [ebx + 0x700]
fmul dword [edi*4 + 0xd7d408]
lea edi, [edx - 4]
fld dword [0xd7d4f8]
fxch st(3)
fsubrp st(1)
fld st(2)
fmul st(2)
fxch st(3)
fmul st(1)
fxch st(1)
faddp st(3)
fsubp st(1)
fxch st(1)
fst dword [ebp - 0x48]
fstp dword [ebp - 0x128]
fst dword [ebp - 0x6c]
fld dword [ecx + 0x200]
fxch st(1)
fstp dword [ebp - 0x124]
fld dword [ecx + 0x680]
fmul dword [eax*4 + 0xd7d450]
fxch st(1)
fmul dword [eax*4 + 0xd7d42c]
fld dword [ebx + 0x200]
fmul dword [eax*4 + 0xd7d3e4]
fxch st(1)
faddp st(2)
fld dword [ebx + 0x680]
fmul dword [eax*4 + 0xd7d408]
lea eax, [edx - 3]
fsubp st(1)
fld dword [0xd7d4fc]
fld st(0)
fmul st(2)
fxch st(1)
fmul st(3)
fxch st(1)
fsubp st(3)
faddp st(1)
fxch st(1)
fst dword [ebp - 0x68]
fxch st(1)
fstp dword [ebp - 0x44]
fld dword [ecx + 0x280]
fld dword [ecx + 0x600]
fmul dword [edi*4 + 0xd7d450]
fxch st(1)
fmul dword [edi*4 + 0xd7d42c]
fld dword [ebx + 0x280]
fmul dword [edi*4 + 0xd7d3e4]
fxch st(1)
faddp st(2)
fld dword [ebx + 0x600]
fmul dword [edi*4 + 0xd7d408]
lea edi, [edx - 2]
dec edx
fsubp st(1)
fld dword [0xd7d500]
fmul st(1)
fsubr st(2)
fst dword [ebp - 0x12c]
fxch st(2)
fmul dword [0xd7d500]
fxch st(2)
fstp dword [ebp - 0x64]
fld dword [0xd7d504]
fxch st(1)
faddp st(2)
fxch st(1)
fst dword [ebp - 0x40]
fld dword [ecx + 0x300]
fld dword [ecx + 0x580]
fmul dword [eax*4 + 0xd7d450]
fxch st(1)
fmul dword [eax*4 + 0xd7d42c]
fxch st(2)
fstp dword [ebp - 0x130]
fld dword [ebx + 0x300]
fmul dword [eax*4 + 0xd7d3e4]
fxch st(2)
faddp st(1)
fld dword [ebx + 0x580]
fmul dword [eax*4 + 0xd7d408]
fsubp st(2)
fld st(2)
fmul st(1)
fxch st(3)
fmul st(2)
fxch st(3)
faddp st(2)
fsubrp st(2)
fst dword [ebp - 0x3c]
fxch st(1)
fst dword [ebp - 0x60]
fld dword [ecx + 0x380]
fxch st(1)
fstp dword [ebp - 0x134]
fld dword [ecx + 0x500]
fmul dword [edi*4 + 0xd7d450]
fxch st(1)
fmul dword [edi*4 + 0xd7d42c]
fld dword [ebx + 0x380]
fmul dword [edi*4 + 0xd7d3e4]
fxch st(1)
faddp st(2)
fld dword [ebx + 0x500]
fmul dword [edi*4 + 0xd7d408]
fsubp st(1)
fld dword [0xd7d508]
fld st(0)
fmul st(2)
fxch st(1)
fmul st(3)
fxch st(1)
fsubp st(3)
faddp st(1)
fxch st(1)
fst dword [ebp - 0x5c]
fxch st(1)
fstp dword [ebp - 0x38]
fld dword [ecx + 0x400]
fld dword [ecx + 0x480]
fmul dword [edx*4 + 0xd7d450]
fxch st(1)
fmul dword [edx*4 + 0xd7d42c]
fld dword [ebx + 0x400]
fmul dword [edx*4 + 0xd7d3e4]
fxch st(1)
faddp st(2)
fld dword [ebx + 0x480]
fmul dword [edx*4 + 0xd7d408]
fsubp st(1)
fld dword [0xd7d50c]
fmul st(1)
fsubr st(2)
fst dword [ebp - 0x58]
fxch st(2)
fmul dword [0xd7d50c]
faddp st(1)
fst dword [ebp - 0x138]
fst dword [ebp - 0x34]
fsub dword [ebp - 0xa8]
fxch st(1)
fadd dword [ebp - 0xa4]
fxch st(2)
fadd dword [ebp - 0x118]
fxch st(1)
fstp dword [ebp - 0xac]
fld dword [ebp - 0x124]
fadd dword [ebp - 0x12c]
fxch st(4)
fsubr st(1)
fxch st(2)
fstp dword [ebp - 0xb0]
fld dword [ebp - 0x11c]
fadd dword [ebp - 0x134]
fxch st(4)
fstp dword [ebp - 0xb8]
fld dword [ebp - 0xb0]
fxch st(3)
fsub dword [ebp - 0x120]
fld dword [ebp - 0x130]
fxch st(4)
fadd st(5)
fxch st(5)
fstp dword [ebp - 0xb4]
fld st(1)
fxch st(5)
fsub dword [ebp - 0xb8]
fxch st(4)
fsub dword [ebp - 0x128]
fxch st(3)
fsubr st(4)
fstp dword [esi + 0x44]
fxch st(3)
fmul dword [0xd7d52c]
fxch st(4)
fsub dword [ebp - 0x68]
faddp st(4)
fld dword [ebp - 0xac]
fsub st(3)
fsub st(2)
fmul dword [0xd7d528]
fld st(0)
fadd st(5)
fxch st(1)
fsubrp st(5)
fld dword [ebp - 0xac]
fxch st(1)
fstp dword [esi + 0x14]
fxch st(4)
fstp dword [esi + 0x18]
fld dword [ebp - 0x50]
fsubr dword [ebp - 0x38]
fxch st(4)
fmul dword [0xd7d510]
fxch st(4)
fmul dword [0xd7d528]
fld dword [0xd7d514]
fld dword [0xd7d52c]
fld dword [ebp - 0xb4]
fxch st(2)
fmul st(6)
fxch st(7)
fadd st(3)
fxch st(2)
fmul dword [0xd7d524]
fxch st(2)
faddp st(7)
fmulp st(3)
fld dword [0xd7d518]
fld dword [ebp - 0xb0]
fxch st(4)
fadd dword [ebp - 0x68]
fxch st(1)
fmul st(5)
fxch st(4)
fchs
fxch st(7)
faddp st(4)
fld st(6)
fmul dword [0xd7d520]
fadd st(1)
fsubrp st(2)
fld dword [ebp - 0xb8]
fmul dword [0xd7d51c]
faddp st(2)
fld st(3)
fadd st(2)
fxch st(4)
fsubrp st(2)
fxch st(3)
fstp dword [esi + 4]
fstp dword [esi + 8]
fld dword [ebp - 0xac]
fmul dword [0xd7d514]
fld dword [0xd7d518]
fxch st(6)
fmul dword [0xd7d524]
fxch st(6)
fmul st(5)
fxch st(1)
fsub st(2)
fld dword [ebp - 0xb4]
fxch st(7)
fadd st(4)
fxch st(1)
fsubrp st(2)
fld dword [0xd7d510]
fmul st(5)
faddp st(2)
fld dword [ebp - 0xb4]
fmul dword [0xd7d51c]
fsubp st(1)
fld dword [ebp - 0xb8]
fmul dword [0xd7d520]
faddp st(1)
fld st(1)
fadd st(1)
fxch st(2)
fsubrp st(1)
fld dword [ebp - 0xb8]
fxch st(2)
fstp dword [esi + 0x24]
fstp dword [esi + 0x28]
fld dword [ebp - 0xac]
fmul dword [0xd7d518]
fld dword [ebp - 0xb0]
fmul dword [0xd7d51c]
fxch st(6)
fmul dword [0xd7d510]
fxch st(1)
fsubrp st(3)
fxch st(6)
fmul dword [0xd7d520]
fxch st(5)
fsubrp st(3)
fxch st(1)
faddp st(5)
fxch st(2)
fmul dword [0xd7d514]
fxch st(1)
faddp st(3)
fxch st(1)
fmul dword [0xd7d524]
fxch st(3)
fsubrp st(1)
fxch st(1)
fsubrp st(2)
fld st(0)
fadd st(2)
fxch st(1)
fsubrp st(2)
fstp dword [esi + 0x34]
fstp dword [esi + 0x38]
fld dword [ebp - 0x78]
fsubr dword [ebp - 0x58]
fld dword [ebp - 0x54]
fld dword [ebp - 0x48]
fadd dword [ebp - 0x40]
fxch st(1)
fadd dword [ebp - 0x34]
fxch st(2)
fstp dword [ebp - 0xbc]
fld dword [ebp - 0x70]
fsubr dword [ebp - 0x60]
fld st(2)
fld dword [ebp - 0x4c]
fadd dword [ebp - 0x3c]
fld dword [ebp - 0x50]
fxch st(3)
fstp dword [ebp - 0xc4]
fld dword [ebp - 0x6c]
fxch st(2)
fadd st(1)
fxch st(2)
fsubr dword [ebp - 0x64]
fxch st(3)
fadd dword [ebp - 0x38]
fxch st(2)
fadd st(4)
fxch st(3)
fstp dword [ebp - 0xc8]
fxch st(3)
fst dword [ebp - 0xcc]
fld dword [ebp - 0x44]
fadd st(2)
fadd st(3)
fstp dword [esi]
fxch st(2)
fmul dword [0xd7d52c]
fld dword [ebp - 0x44]
fadd st(2)
fsubp st(1)
fld dword [ebp - 0xbc]
fsub dword [ebp - 0xc4]
fld st(1)
fxch st(1)
fadd dword [ebp - 0xc8]
fmul dword [0xd7d528]
fadd st(1), st(0)
fsubp st(2)
fstp dword [esi + 0x2c]
fstp dword [esi + 0x30]
fld dword [ebp - 0x74]
fsubr dword [ebp - 0x5c]
fxch st(1)
fmul dword [0xd7d52c]
fxch st(1)
fmul dword [0xd7d528]
fld dword [0xd7d51c]
fxch st(2)
fsubr dword [ebp - 0x44]
fld dword [ebp - 0xc4]
fxch st(3)
fmul st(6)
fxch st(2)
fstp dword [ebp - 0xc0]
fld dword [0xd7d520]
fxch st(3)
fmul dword [0xd7d510]
fxch st(3)
fmul st(5)
fxch st(2)
fsub st(1)
fxch st(6)
fchs
fxch st(6)
faddp st(2)
fld st(3)
fmul dword [0xd7d524]
faddp st(2)
fld dword [ebp - 0xbc]
fmul dword [0xd7d518]
fadd dword [ebp - 0xc0]
faddp st(3)
fld dword [ebp - 0xc8]
fmul dword [0xd7d514]
faddp st(3)
fld st(1)
fadd st(3)
fxch st(2)
fsubrp st(3)
fxch st(1)
fstp dword [esi + 0xc]
fxch st(1)
fstp dword [esi + 0x10]
fld st(3)
fmul dword [0xd7d524]
fld dword [0xd7d51c]
fld dword [ebp - 0xc4]
fmul dword [0xd7d518]
fxch st(1)
fmul st(5)
fxch st(2)
fadd st(3)
fsubrp st(2)
fld st(3)
fmul dword [0xd7d520]
fsubp st(2)
fld dword [ebp - 0xbc]
fmul dword [0xd7d514]
fadd dword [ebp - 0xc0]
fsubrp st(1)
fld dword [ebp - 0xc8]
fmul dword [0xd7d510]
fsubp st(1)
fld st(1)
fadd st(1)
fxch st(2)
fsubrp st(1)
fxch st(1)
fstp dword [esi + 0x1c]
fstp dword [esi + 0x20]
fxch st(3)
fmul dword [0xd7d520]
fld dword [ebp - 0xbc]
fmul dword [0xd7d510]
fxch st(3)
fmul dword [0xd7d524]
fxch st(1)
faddp st(4)
fld dword [ebp - 0xc4]
fmul dword [0xd7d514]
fxch st(4)
fsubrp st(1)
fxch st(1)
fmul dword [0xd7d51c]
fxch st(2)
fsub dword [ebp - 0xc0]
fld dword [ebp - 0xc8]
fmul dword [0xd7d518]
fxch st(1)
faddp st(4)
fxch st(1)
fsubrp st(2)
fsubp st(2)
fld st(0)
fadd st(2)
fxch st(1)
fsubrp st(2)
fstp dword [esi + 0x3c]
fstp dword [esi + 0x40]
cmp dword [ebp - 0x140], 2
setne bl
xor ecx, ecx
cmp dword [ebp - 0xe0], 0
setne cl
test ecx, ebx
je 0xa3dee2
fld dword [esi + 0x1c]
fld dword [esi - 0x20]
fld dword [0xd7d54c]
fld st(2)
fld st(2)
fld dword [0xd7d56c]
fxch st(4)
fmul st(3)
fxch st(1)
fmul st(4)
fxch st(2)
fmulp st(3)
fxch st(4)
fmulp st(3)
faddp st(1)
fxch st(1)
fsubrp st(2)
fld dword [esi - 0x1c]
fxch st(1)
fstp dword [esi - 0x20]
fld st(0)
fxch st(2)
fstp dword [esi + 0x1c]
fld dword [esi + 0x18]
fld dword [0xd7d548]
fld dword [0xd7d568]
fld st(2)
fxch st(4)
fmul st(2)
fxch st(5)
fmul st(1)
fxch st(4)
fmulp st(2)
fmulp st(2)
faddp st(2)
fsubrp st(2)
fld dword [esi - 0x18]
fxch st(1)
fstp dword [esi - 0x1c]
fld st(0)
fxch st(2)
fstp dword [esi + 0x18]
fld dword [esi + 0x14]
fld dword [0xd7d544]
fld dword [0xd7d564]
fld st(2)
fxch st(4)
fmul st(2)
fxch st(5)
fmul st(1)
fxch st(4)
fmulp st(2)
fmulp st(2)
faddp st(2)
fsubrp st(2)
fld dword [esi - 0x14]
fxch st(1)
fstp dword [esi - 0x18]
fld st(0)
fxch st(2)
fstp dword [esi + 0x14]
fld dword [esi + 0x10]
fld dword [0xd7d540]
fld dword [0xd7d560]
fld st(2)
fxch st(4)
fmul st(2)
fxch st(5)
fmul st(1)
fxch st(4)
fmulp st(2)
fmulp st(2)
faddp st(2)
fsubrp st(2)
fld dword [esi - 0x10]
fxch st(1)
fstp dword [esi - 0x14]
fld st(0)
fxch st(2)
fstp dword [esi + 0x10]
fld dword [esi + 0xc]
fld dword [0xd7d53c]
fld dword [0xd7d55c]
fld st(2)
fxch st(4)
fmul st(2)
fxch st(5)
fmul st(1)
fxch st(4)
fmulp st(2)
fmulp st(2)
faddp st(2)
fsubrp st(2)
fld dword [esi - 0xc]
fxch st(1)
fstp dword [esi - 0x10]
fld st(0)
fxch st(2)
fstp dword [esi + 0xc]
fld dword [esi + 8]
fld dword [0xd7d538]
fld dword [0xd7d558]
fld st(2)
fxch st(4)
fmul st(2)
fxch st(5)
fmul st(1)
fxch st(4)
fmulp st(2)
fmulp st(2)
faddp st(2)
fsubrp st(2)
fstp dword [esi - 0xc]
fld dword [esi - 8]
fxch st(1)
fstp dword [esi + 8]
fld dword [esi + 4]
fld st(1)
fld dword [0xd7d534]
fld st(2)
fld dword [0xd7d554]
fxch st(5)
fmul st(2)
fxch st(3)
fmul st(5)
fxch st(1)
fmulp st(2)
fxch st(3)
fmulp st(4)
faddp st(2)
fsubp st(2)
fld dword [esi - 4]
fxch st(1)
fstp dword [esi - 8]
fld st(0)
fxch st(2)
fstp dword [esi + 4]
fld dword [esi]
fld dword [0xd7d530]
fld dword [0xd7d550]
fld st(2)
fmul st(2)
fxch st(5)
fmul st(1)
fxch st(3)
fmulp st(1)
fxch st(3)
fmulp st(1)
fxch st(3)
faddp st(1)
fxch st(1)
fsubrp st(2)
fstp dword [esi - 4]
fstp dword [esi]
inc dword [ebp - 0xe0]
add esi, 0x48
cmp dword [ebp - 0xe0], 0x1f
jg 0xa3dfa5
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xe0]
lea eax, [ecx + ecx*8]
mov edi, dword [ebp - 0x7c]
shl eax, 8
add eax, edx
mov edx, dword [ebx*4 + 0xd7d600]
mov ecx, dword [ebp - 0xd8]
shl edx, 2
lea ebx, [eax + edx + 0xdc04]
mov eax, 1
sub eax, edi
lea edi, [eax + eax*8]
shl edi, 8
add edi, ecx
lea ecx, [edi + edx + 0xdc04]
mov edi, dword [ebp - 0x88]
mov edx, dword [edi + 0x12b8]
test edx, edx
setne dl
xor eax, eax
cmp dword [ebp - 0xe0], 1
setle al
test eax, edx
sete al
mov edx, dword [edi + 0x12b4]
movzx eax, al
neg eax
mov edi, dword [ebp - 0xe0]
and eax, edx
mov dword [ebp - 0x140], eax
mov edx, dword [ebp + 8]
fld dword [edx + edi*4 + 0x10004]
fcom dword [0xd7db08]
fnstsw ax
sahf
je 0xa3e6c5
fcom dword [0xd7db0c]
fnstsw ax
xor edx, edx
sahf
jne 0xa3e015
jmp 0xa3d5a4
inc dword [ebp - 0x7c]
mov esi, dword [ebp + 8]
add dword [ebp - 0xd4], 0x28b8
mov eax, dword [esi + 0x7c9c]
cmp eax, dword [ebp - 0x7c]
jg 0xa3d4fe
mov edx, dword [ebp - 0xd0]
dec eax
mov dword [ebp - 0x84], edx
je 0xa3e6e3
inc dword [ebp - 0x80]
mov esi, dword [ebp + 8]
add dword [ebp - 0xd8], 0x1200
mov ecx, dword [ebp - 0x80]
cmp dword [esi + 0x7ca4], ecx
jg 0xa3d4df
add esp, 0x14c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebp - 0xe0]
fld dword [eax + edi*4 + 0x10004]
mov edi, edx
lea eax, [edx + 1]
shl edi, 7
fmul dword [edi + ecx]
shl eax, 7
mov dword [ebp - 0x13c], eax
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
lea eax, [edx + 2]
shl eax, 7
mov dword [ebp - 0x13c], eax
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
lea eax, [edx + 3]
shl eax, 7
mov dword [ebp - 0x13c], eax
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
lea eax, [edx + 4]
shl eax, 7
mov dword [ebp - 0x13c], eax
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
lea eax, [edx + 5]
shl eax, 7
mov dword [ebp - 0x13c], eax
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
lea eax, [edx + 6]
shl eax, 7
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0x13c], eax
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
lea eax, [edx + 7]
shl eax, 7
mov dword [ebp - 0x13c], eax
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
lea eax, [edx + 8]
shl eax, 7
add edx, 9
cmp edx, 0x11
mov dword [ebp - 0x13c], eax
fstp dword [edi + ecx]
mov edi, dword [ebp - 0xe0]
fld dword [eax + ecx]
mov eax, dword [ebp + 8]
fmul dword [eax + edi*4 + 0x10004]
mov edi, dword [ebp - 0x13c]
fstp dword [edi + ecx]
jle 0xa3e008
cmp dword [ebp - 0x140], 2
jne 0xa3d5b3
fld dword [0xd7d4e0]
lea eax, [ebx - 0x180]
lea edx, [esi - 0x24]
fld dword [0xd7d4e4]
fxch st(1)
lea edi, [ecx - 0x180]
fst dword [ebp - 0x8c]
fmul dword [eax + 0x480]
fsub dword [ebx + 0x580]
fstp dword [edx + 0x24]
fld dword [ebp - 0x8c]
fmul dword [ebx + 0x880]
fadd dword [eax + 0x780]
fstp dword [edx + 0x48]
fld dword [ebp - 0x8c]
fmul dword [eax + 0x780]
lea eax, [ebx - 0x100]
fsub dword [ebx + 0x880]
fstp dword [edx + 0x28]
fld dword [ebp - 0x8c]
fmul dword [ecx + 0x280]
fadd dword [edi + 0x180]
fstp dword [edx + 0x4c]
fld dword [ebp - 0x8c]
fmul dword [edi + 0x180]
fsub dword [ecx + 0x280]
fstp dword [edx + 0x2c]
fld dword [ebp - 0x8c]
fmul dword [ecx + 0x580]
fadd dword [edi + 0x480]
lea edi, [ecx - 0x100]
fstp dword [edx + 0x50]
lea edx, [esi - 0x18]
fld dword [eax + 0x480]
fmul st(1)
fsub dword [ebx + 0x500]
fstp dword [edx + 0x24]
fld dword [ebx + 0x800]
fmul st(1)
fadd dword [eax + 0x780]
fstp dword [edx + 0x48]
fld dword [eax + 0x780]
lea eax, [ebx - 0x80]
fmul st(1)
fsub dword [ebx + 0x800]
fstp dword [edx + 0x28]
fld dword [ecx + 0x200]
fld dword [ebp - 0x8c]
fxch st(1)
fmul st(2)
fadd dword [edi + 0x180]
fstp dword [edx + 0x4c]
fld dword [edi + 0x180]
fmul st(2)
fsub dword [ecx + 0x200]
fstp dword [edx + 0x2c]
fxch st(1)
fmul dword [ecx + 0x500]
fadd dword [edi + 0x480]
lea edi, [ecx - 0x80]
fstp dword [edx + 0x50]
lea edx, [esi - 0xc]
fld dword [0xd7d4e8]
fld st(0)
fmul dword [eax + 0x480]
fxch st(1)
fst dword [ebp - 0xe4]
fxch st(1)
fsub dword [ebx + 0x480]
fstp dword [edx + 0x24]
fld st(0)
fmul dword [ebx + 0x780]
fadd dword [eax + 0x780]
fstp dword [edx + 0x48]
fld st(0)
fmul dword [eax + 0x780]
mov eax, 0x6cb19c4f
fsub dword [ebx + 0x780]
lea ebx, [esi + 4]
fstp dword [edx + 0x28]
fld st(0)
fmul dword [ecx + 0x180]
fadd dword [edi + 0x180]
fstp dword [edx + 0x4c]
fld st(0)
fmul dword [edi + 0x180]
fsub dword [ecx + 0x180]
fstp dword [edx + 0x2c]
fmul dword [ecx + 0x480]
fadd dword [edi + 0x480]
mov edi, 0x3db6c278
fstp dword [edx + 0x50]
lea edx, [esi + 8]
fld dword [esi + 0x18]
fld dword [esi]
fld dword [ebp - 0xe4]
fxch st(3)
fmul st(2)
fxch st(3)
fmul st(1)
fld dword [esi + 0x3c]
fld dword [esi + 0x24]
fxch st(5)
fsub st(1)
fxch st(2)
fsub st(5)
fxch st(1)
fmul dword [ebp - 0x8c]
fld st(2)
fadd st(2)
fxch st(6)
fmul dword [ebp - 0xe4]
fxch st(1)
faddp st(5)
fxch st(2)
fsubrp st(1)
fld st(3)
fxch st(2)
faddp st(3)
fxch st(1)
fadd st(2)
fxch st(2)
fsubrp st(3)
fxch st(1)
fstp dword [ebp - 0x94]
fld dword [ebp - 0xdc]
fmul dword [esi + 0xc]
fld qword [0xd7db10]
fld qword [0xd7db10]
fxch st(2)
fsub dword [esi + 0x30]
fmulp st(1)
fstp dword [ebp - 0x1c]
fld dword [ebp - 0xdc]
fmul dword [esi + 0x30]
fld dword [ebp - 0x1c]
fxch st(1)
fadd dword [esi + 0xc]
fxch st(1)
fstp qword [ebp - 0xa0]
fmulp st(1)
fld qword [0xd7db18]
fxch st(1)
fstp dword [ebp - 0x1c]
fld st(3)
fmul qword [0xd7db18]
fld dword [ebp - 0x1c]
fxch st(5)
fmul qword [0xd7db28]
fxch st(1)
fadd qword [ebp - 0xa0]
fxch st(1)
fsub qword [ebp - 0xa0]
fxch st(1)
fstp dword [esi]
fld dword [ebp - 0x94]
fchs
fmulp st(2)
fxch st(1)
fadd st(4)
fstp dword [esi + 0x3c]
fld qword [0xd7db20]
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x1c]
fld qword [0xd7db28]
fmul dword [ebp - 0x94]
fld dword [ebp - 0x1c]
fxch st(1)
faddp st(4)
fxch st(3)
fstp dword [ebp - 0x1c]
fld st(2)
fld dword [ebp - 0x1c]
fsub st(1), st(0)
faddp st(4)
fstp dword [esi + 0xc]
fld qword [0xd7db20]
fxch st(3)
fstp dword [esi + 0x18]
fstp dword [ebp - 0x1c]
fmulp st(1)
fld dword [ebp - 0x1c]
fxch st(1)
fstp dword [ebp - 0x1c]
fld st(0)
fld dword [ebp - 0x1c]
fld dword [ebp - 0x8c]
fxch st(2)
fadd st(1)
fxch st(3)
fsubrp st(1)
fld dword [esi + 4]
fxch st(3)
fstp dword [esi + 0x24]
fstp dword [esi + 0x30]
fld dword [ebx + 0x18]
fld dword [ebp - 0xe4]
fld dword [ebx + 0x3c]
fxch st(3)
fmul st(2)
fxch st(1)
fmul st(4)
fld dword [ebx + 0x24]
fxch st(2)
fsub st(4)
fxch st(4)
fmul dword [ebp - 0x8c]
fxch st(1)
fsub st(2)
fld st(4)
fxch st(3)
fmul dword [ebp - 0xe4]
fxch st(2)
faddp st(4)
fadd st(2), st(0)
fsubp st(4)
fld st(2)
fxch st(1)
faddp st(5)
fld qword [0xd7db10]
fxch st(1)
fadd st(5)
fxch st(5)
fsubrp st(3)
fld qword [0xd7db10]
fxch st(5)
fstp dword [ebp - 0xf4]
fld dword [ebp - 0xdc]
fmul dword [ebx + 0xc]
fsub dword [ebx + 0x30]
fmulp st(5)
fxch st(4)
fstp dword [ebp - 0x1c]
fld dword [ebp - 0xdc]
fmul dword [ebx + 0x30]
fld dword [ebp - 0x1c]
fxch st(1)
fadd dword [ebx + 0xc]
fxch st(1)
fstp qword [ebp - 0xf0]
fmulp st(4)
fld qword [0xd7db18]
fxch st(4)
fstp dword [ebp - 0x1c]
fld st(0)
fmul qword [0xd7db18]
fld dword [ebp - 0x1c]
fxch st(1)
fadd qword [ebp - 0xf0]
fstp dword [esi + 4]
fld dword [ebp - 0xf4]
fchs
fmulp st(5)
fadd st(4), st(0)
fxch st(4)
fstp dword [ebx + 0x3c]
fld qword [0xd7db20]
fmulp st(3)
fxch st(2)
fstp dword [ebp - 0x1c]
fld qword [0xd7db28]
fmul dword [ebp - 0xf4]
fld dword [ebp - 0x1c]
fxch st(1)
faddp st(4)
fxch st(3)
fstp dword [ebp - 0x1c]
fld st(2)
fld dword [ebp - 0x1c]
fxch st(3)
fmul qword [0xd7db28]
fxch st(1)
mov dword [ebp - 0x100], eax
fsub st(3)
fxch st(4)
mov dword [ebp - 0xfc], edi
faddp st(3)
fld dword [ebp - 0x8c]
fxch st(1)
fsub qword [ebp - 0xf0]
fxch st(4)
fstp dword [ebx + 0xc]
fld qword [0xd7db20]
fxch st(3)
fstp dword [ebx + 0x18]
fxch st(3)
fstp dword [ebp - 0x1c]
fmulp st(1)
fld dword [ebp - 0x1c]
fxch st(1)
fstp dword [ebp - 0x1c]
fld st(0)
fld dword [ebp - 0x1c]
fadd st(1), st(0)
fsubp st(2)
fstp dword [ebx + 0x24]
fstp dword [ebx + 0x30]
fld dword [edx + 0x18]
fld dword [esi + 8]
fld dword [ebp - 0xe4]
fxch st(3)
fmul st(2)
fxch st(3)
fmul st(1)
fld dword [edx + 0x3c]
fld dword [edx + 0x24]
fxch st(5)
fsub st(1)
fxch st(2)
fsub st(5)
fxch st(1)
fmul dword [ebp - 0x8c]
fld st(2)
fadd st(2)
fxch st(6)
fmul dword [ebp - 0xe4]
fxch st(1)
faddp st(5)
fxch st(2)
fsubrp st(1)
fld st(3)
fxch st(2)
faddp st(3)
fld qword [ebp - 0x100]
fxch st(2)
fadd st(3)
fxch st(3)
fsubrp st(4)
fld qword [0xd7db10]
fxch st(3)
fstp dword [ebp - 0x114]
fld dword [ebp - 0xdc]
fmul dword [edx + 0xc]
fsub dword [edx + 0x30]
fmulp st(3)
fxch st(2)
fstp dword [ebp - 0x1c]
fld dword [ebp - 0xdc]
fmul dword [edx + 0x30]
fld dword [ebp - 0x1c]
fxch st(1)
fadd dword [edx + 0xc]
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x1c]
fld st(3)
fmul qword [0xd7db18]
fxch st(1)
fstp qword [ebp - 0x110]
fld dword [ebp - 0x1c]
fld qword [0xd7db18]
fxch st(2)
fadd qword [ebp - 0x110]
fxch st(5)
fmul qword [0xd7db28]
fxch st(5)
fstp dword [esi + 8]
fld dword [ebp - 0x114]
fxch st(5)
fsub qword [ebp - 0x110]
fxch st(5)
fchs
fmulp st(2)
fadd st(1), st(0)
fxch st(1)
fstp dword [edx + 0x3c]
fld qword [0xd7db20]
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x1c]
fld qword [0xd7db28]
fmul dword [ebp - 0x114]
fld dword [ebp - 0x1c]
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [ebp - 0x1c]
fld st(0)
fld dword [ebp - 0x1c]
fsub st(1), st(0)
faddp st(2)
fstp dword [edx + 0xc]
fld qword [0xd7db20]
fxch st(1)
fstp dword [edx + 0x18]
fxch st(2)
fstp dword [ebp - 0x1c]
fmulp st(1)
fld dword [ebp - 0x1c]
fxch st(1)
fstp dword [ebp - 0x1c]
fld st(0)
fld dword [ebp - 0x1c]
fadd st(1), st(0)
fsubp st(2)
fstp dword [edx + 0x24]
fstp dword [edx + 0x30]
jmp 0xa3dd32
fstp st(0)
mov dword [esp], esi
xor edi, edi
mov eax, 0x48
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call fcn.00a5b648
jmp 0xa3dd32
mov edi, dword [ebp - 0xd8]
mov ebx, 0x900
mov eax, dword [ebp - 0xd8]
mov dword [esp + 8], ebx
add edi, 0xdc04
add eax, 0xe504
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00a5b5c0
jmp 0xa3dfd7