Function at 0x10018da3
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x27c8
call fcn.1006ac30
mov eax, dword [0x100ba2d8]
xor eax, ebp
mov dword [ebp - 8], eax
fld qword [0x100e09e8]
push ebx
push esi
fstp qword [ebp - 0x277c]
fld qword [0x100e0a00]
push edi
mov ecx, 0x35e
fstp qword [ebp - 0x2774]
mov esi, 0x100e6eb8
lea edi, [ebp - 0x26d4]
rep movsd dword es:[edi], dword [esi]
push 0x10
pop ecx
mov esi, 0x100e0b48
lea edi, [ebp - 0x27c4]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
xor edx, edx
inc edi
mov dword [ebp - 0x2724], edx
cmp dword [ebp + 8], edx
je 0x10018e0f
mov dword [ebp - 0x2718], edx
jmp 0x10018e2b
push 0x16
mov dword [ebp - 0x2718], edi
pop eax
movzx ecx, byte [eax + 0x100e0e18]
and dword [ebp - 0x2718], ecx
inc eax
cmp eax, 0x21
jle 0x10018e18
mov eax, dword [0x100e07cc]
mov dword [ebp - 0x271c], eax
cmp dword [ebp + 8], edx
jne 0x10018e50
cmp dword [ebp - 0x2718], edx
jne 0x10018e50
push 0x60
pop ecx
cmp eax, ecx
jg 0x10018e50
mov dword [ebp - 0x271c], ecx
cmp dword [0x100e08fc], edx
je 0x10018e60
mov dword [ebp - 0x2700], edi
jmp 0x10018e6b
mov eax, dword [0x100e07a0]
mov dword [ebp - 0x2700], eax
cmp dword [0x100e0620], edx
je 0x10018e84
push 2
pop eax
cmp dword [ebp - 0x2700], eax
jl 0x10018e84
mov dword [ebp - 0x2700], eax
mov ecx, dword [0x100e0b50]
mov eax, dword [0x100e0b48]
mov dword [ebp - 0x2730], ecx
mov esi, ecx
mov dword [ebp - 0x2720], eax
mov dword [ebp - 0x2748], eax
cmp dword [0x100e0648], edx
je 0x10018ed8
mov eax, dword [0x100e0788]
mov dword [ebp - 0x2748], edi
mov dword [ebp - 0x2720], 0xc
cmp eax, edx
je 0x10018ed8
jge 0x10018ecc
lea esi, [eax + ecx + 1]
jmp 0x10018ed8
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x2730], eax
mov ecx, eax
mov dword [0x100e0b50], esi
cmp esi, ecx
jg 0x10019e46
mov ebx, dword [ebp - 0x2748]
mov dword [0x100e0b48], ebx
cmp ebx, dword [ebp - 0x2720]
jg 0x10019e2a
fild dword [ebp - 0x271c]
fstp qword [ebp - 0x2764]
mov edi, dword [0x100e0644]
test edi, edi
je 0x10018f34
cmp ebx, 9
je 0x10018f28
mov eax, ebx
call fcn.1001eef8
mov dword [ebp - 0x26f0], eax
jmp 0x10018f3e
mov dword [ebp - 0x26f0], 0x1e
jmp 0x10018f3e
mov dword [ebp - 0x26f0], 1
fild dword [ebp - 0x26f0]
mov dword [0x100e0a08], ebx
fmul qword [0x100a8de8]
fmul qword [0x100a9870]
fstp qword [ebp - 0x2714]
fld qword [ebp - 0x2714]
fdiv qword [ebp - 0x2764]
fstp qword [ebp - 0x273c]
test edi, edi
je 0x10018f77
xor edi, edi
inc edi
jmp 0x10018f7d
mov edi, dword [0x100e0b4c]
fldz
mov eax, dword [ebp + 8]
fst qword [0x100e0a18]
mov dword [0x100e0a0c], edi
fld qword [0x100e0b60]
mov dword [0x100e0a10], esi
fst qword [0x100e0a20]
mov dword [0x100e0690], eax
fld qword [0x100e0b68]
fst qword [0x100e0a28]
fld qword [0x100e0b70]
fstp qword [0x100e0a30]
fld qword [0x100e0b78]
fstp qword [0x100e0a38]
test eax, eax
je 0x10018ffd
sub esp, 0x18
fstp qword [esp + 0x10]
mov ecx, ebx
fstp qword [esp + 8]
fstp qword [esp]
push esi
call fcn.100050e9
fstp qword [0x100e09a0]
add esp, 0x1c
push 0x10
pop ecx
mov esi, 0x100e0a48
mov edi, 0x100e0a08
rep movsd dword es:[edi], dword [esi]
jmp 0x10019003
fstp st(1)
fstp st(0)
fstp st(0)
xor eax, eax
movzx esi, byte [eax + 0x100e0e18]
movzx ecx, byte [eax + 0x100e0d88]
xor ecx, esi
mov byte [eax + 0x100e0d88], cl
movzx ecx, cl
xor ecx, esi
xor byte [eax + 0x100e0d88], cl
mov byte [eax + 0x100e0e18], cl
inc eax
cmp eax, 0x2a
jle 0x10019005
push 0xffffffffffffffff
call fcn.10006c7a
fstp st(0)
add esp, 4
xor eax, eax
movzx esi, byte [eax + 0x100e0e18]
movzx ecx, byte [eax + 0x100e0d88]
xor ecx, esi
mov byte [eax + 0x100e0d88], cl
movzx ecx, cl
xor ecx, esi
xor byte [eax + 0x100e0d88], cl
mov byte [eax + 0x100e0e18], cl
inc eax
cmp eax, 0x2a
jle 0x10019040
xor eax, eax
inc eax
mov ecx, 0x35e
mov esi, 0x100e6eb8
mov edi, 0x100e7d98
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x26f0], eax
cmp dword [ebp - 0x271c], eax
jl 0x10019e0b
fld qword [ebp - 0x2714]
fdiv qword [0x100a8de8]
fdiv qword [0x100a9870]
fstp qword [ebp - 0x2784]
and dword [ebp - 0x26e0], 0
cmp dword [0x100e0644], 0
je 0x100190bf
fld1
jmp 0x100190c5
fild dword [0x100e0b4c]
fild dword [ebp - 0x26f0]
mov esi, dword [0x100e0b48]
mov dword [0x100e0a08], esi
fmul qword [ebp - 0x2784]
fdiv qword [ebp - 0x2764]
faddp st(1)
fstp qword [ebp - 0x26ec]
fld qword [ebp - 0x26ec]
call fcn.100722b0
fld qword [ebp - 0x26ec]
mov edi, dword [0x100e0b50]
push ecx
mov ebx, eax
push ecx
fstp qword [esp]
mov dword [0x100e0a0c], ebx
mov dword [0x100e0a10], edi
call fcn.10072490
fsubr qword [ebp - 0x26ec]
cmp dword [ebp + 8], 0
pop ecx
fmul qword [0x100a8de8]
pop ecx
fstp qword [0x100e0a18]
fld qword [0x100e0b60]
fst qword [0x100e0a20]
fld qword [0x100e0b68]
fst qword [0x100e0a28]
fld qword [0x100e0b70]
fstp qword [0x100e0a30]
fld qword [0x100e0b78]
fstp qword [0x100e0a38]
je 0x10019198
sub esp, 0x18
fstp qword [esp + 0x10]
mov ecx, esi
fstp qword [esp + 8]
fldz
fstp qword [esp]
push edi
mov edi, ebx
call fcn.100050e9
fstp qword [0x100e09a0]
add esp, 0x1c
push 0x10
pop ecx
mov esi, 0x100e0a48
mov edi, 0x100e0a08
rep movsd dword es:[edi], dword [esi]
jmp 0x1001919c
fstp st(1)
fstp st(0)
xor eax, eax
movzx esi, byte [eax + 0x100e0e18]
movzx ecx, byte [eax + 0x100e0d88]
xor ecx, esi
mov byte [eax + 0x100e0d88], cl
movzx ecx, cl
xor ecx, esi
xor byte [eax + 0x100e0d88], cl
mov byte [eax + 0x100e0e18], cl
inc eax
cmp eax, 0x2a
jle 0x1001919e
push 0xffffffffffffffff
call fcn.10006c7a
fstp st(0)
add esp, 4
xor eax, eax
movzx esi, byte [eax + 0x100e0e18]
movzx ecx, byte [eax + 0x100e0d88]
xor ecx, esi
mov byte [eax + 0x100e0d88], cl
movzx ecx, cl
xor ecx, esi
xor byte [eax + 0x100e0d88], cl
mov byte [eax + 0x100e0e18], cl
inc eax
cmp eax, 0x2a
jle 0x100191d9
mov edx, 0x35e
mov eax, 0x100e7d98
mov ecx, edx
mov esi, eax
mov edi, 0x100e5ad0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov esi, 0x100e6eb8
mov edi, eax
rep movsd dword es:[edi], dword [esi]
xor edi, edi
cmp dword [0x100e0698], 0
je 0x1001942d
cmp dword [0x100e0754], 0
jne 0x1001942d
cmp byte [edi + 0x100e0e18], 0
jne 0x1001942d
fld qword [ebp - 0x277c]
mov esi, edi
fstp qword [0x100e09e8]
sub esp, 0x10
fld qword [ebp - 0x2774]
fstp qword [0x100e0a00]
fld qword [esi*8 + 0x100e5da0]
fstp qword [esp + 8]
fld qword [esi*8 + 0x100e5ad0]
fstp qword [esp]
call fcn.10005260
fstp qword [ebp - 0x26fc]
fld qword [esi*8 + 0x100e8068]
fstp qword [esp + 8]
fld qword [esi*8 + 0x100e7d98]
fstp qword [esp]
call fcn.10005260
fstp qword [ebp - 0x270c]
add esp, 0x10
fld qword [ebp - 0x26fc]
call fcn.100722b0
fld qword [ebp - 0x270c]
cdq
push 0x1e
pop ecx
idiv ecx
mov dword [ebp - 0x26dc], eax
call fcn.100722b0
cdq
push 0x1e
pop ecx
idiv ecx
mov ecx, eax
mov eax, dword [ebp - 0x26dc]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp dword [ebp - 0x26dc], ecx
je 0x1001942d
cmp eax, 1
je 0x10019300
cmp eax, 0xb
jne 0x1001942d
cmp byte [eax + 0x100e0d9d], 0
jne 0x1001942d
cmp dword [ebp - 0x26e0], 0xc8
jge 0x1001942d
fldz
mov ebx, dword [ebp - 0x26e0]
fcomp qword [esi*8 + 0x100e6070]
lea eax, [ecx + 1]
mov dword [ebp + ebx*4 - 0x37c], eax
mov dword [ebp + ebx*4 - 0xcdc], edi
mov dword [ebp + ebx*4 - 0x69c], 0xfffffffc
fnstsw ax
test ah, 0x41
jp 0x10019357
mov dword [ebp - 0x26dc], ecx
jmp 0x10019363
mov eax, dword [ebp - 0x26dc]
mov dword [ebp - 0x26dc], eax
fild dword [ebp - 0x26dc]
mov ecx, dword [ebp - 0x26e0]
sub esp, 0x10
fmul qword [0x100aa190]
fstp qword [esp + 8]
fld qword [ebp - 0x26fc]
fstp qword [esp]
call fcn.1001eaae
fstp qword [ebp - 0x2744]
fld qword [ebp - 0x270c]
fstp qword [esp + 8]
fld qword [ebp - 0x26fc]
fstp qword [esp]
call fcn.1001eaae
fdivr qword [ebp - 0x2744]
mov eax, dword [ebp - 0x26f0]
dec eax
mov dword [ebp - 0x26e8], eax
add esp, 8
fmul qword [ebp - 0x273c]
fild dword [ebp - 0x26e8]
fmul qword [ebp - 0x273c]
faddp st(1)
fstp qword [ebp + ecx*8 - 0x131c]
fld qword [esi*8 + 0x100e5ad0]
fstp qword [ebp + ecx*8 - 0x195c]
fld qword [esi*8 + 0x100e8338]
fstp qword [esp]
call fcn.1001e7f8
call fcn.100722b0
fld qword [esi*8 + 0x100e6070]
fstp qword [esp]
mov dword [ebp - 0x26e8], eax
call fcn.1001e7f8
add esp, 8
call fcn.100722b0
mov ecx, dword [ebp - 0x26e8]
add ecx, eax
inc dword [ebp - 0x26e0]
mov dword [ebp + ebx*4 - 0x9bc], ecx
cmp byte [edi + 0x100e0d88], 0
jne 0x100199c1
xor esi, esi
mov dword [ebp - 0x26dc], esi
cmp dword [0x100e08fc], 0
je 0x10019454
xor eax, eax
cmp edi, esi
setne al
jmp 0x1001945b
movzx eax, byte [esi + 0x100e0e18]
test eax, eax
jne 0x100199b1
cmp dword [ebp - 0x2718], eax
je 0x10019479
cmp esi, 0x12
jle 0x10019479
cmp esi, 0x22
jl 0x100199b1
xor eax, eax
inc eax
cmp dword [0x100e0620], 0
mov dword [ebp - 0x26d8], eax
jne 0x10019830
cmp dword [ebp - 0x2700], eax
jl 0x100199b1
push dword [ebp - 0x26dc]
mov ebx, edi
push dword [ebp - 0x26d8]
call fcn.100080df
pop ecx
pop ecx
test eax, eax
je 0x1001980d
fld qword [ebp + edi*8 - 0x26d4]
mov esi, dword [ebp - 0x26dc]
mov ebx, dword [ebp - 0x26d8]
fstp qword [ebp - 0x26ec]
fld qword [esi*8 + 0x100e5ad0]
lea ebx, [ebx*8 + 0x100e1408]
fstp qword [ebp - 0x2714]
push ecx
fld qword [esi*8 + 0x100e7d98]
push ecx
fstp qword [ebp - 0x272c]
fld qword [ebp - 0x26ec]
fsub qword [ebx]
fstp qword [ebp - 0x275c]
fld qword [ebp - 0x275c]
fstp qword [esp]
call fcn.1001e8aa
fstp qword [ebp - 0x2754]
fld qword [ebx]
fadd qword [ebp - 0x26ec]
fstp qword [ebp - 0x2744]
fld qword [ebp - 0x2744]
fstp qword [esp]
call fcn.1001e8aa
fstp qword [ebp - 0x276c]
fld qword [ebp - 0x2754]
fstp qword [esp]
push ecx
fld qword [ebp - 0x2714]
push ecx
fstp qword [esp]
call fcn.1001eaae
fstp qword [ebp - 0x26fc]
fld qword [ebp - 0x276c]
fstp qword [esp + 8]
fld qword [ebp - 0x272c]
fstp qword [esp]
call fcn.1001eaae
fcomp qword [ebp - 0x26fc]
add esp, 0x10
push ecx
push ecx
fnstsw ax
test ah, 0x41
jne 0x100195a1
fld qword [ebx]
fadd qword [ebp - 0x2714]
fstp qword [esp]
call fcn.1001e8aa
fstp qword [ebp - 0x2714]
fld qword [ebx]
fadd qword [ebp - 0x272c]
jmp 0x100195bf
fld qword [ebp - 0x2714]
fsub qword [ebx]
fstp qword [esp]
call fcn.1001e8aa
fstp qword [ebp - 0x2714]
fld qword [ebp - 0x272c]
fsub qword [ebx]
fstp qword [esp]
call fcn.1001e8aa
fstp qword [ebp - 0x272c]
pop ecx
fld qword [ebp - 0x2714]
pop ecx
fsub qword [ebp - 0x26ec]
fstp qword [ebp - 0x26fc]
fld qword [ebp - 0x26fc]
fabs
fcomp qword [0x100a87a8]
fnstsw ax
test ah, 0x41
jne 0x1001961b
fld qword [ebp - 0x26fc]
push ecx
push ecx
fstp qword [esp]
call fcn.1001e7f8
fmul qword [0x100a87f0]
add esp, 8
fsubr qword [ebp - 0x26fc]
fstp qword [ebp - 0x26fc]
fld qword [ebp - 0x272c]
fsub qword [ebp - 0x26ec]
fstp qword [ebp - 0x270c]
fld qword [ebp - 0x270c]
fabs
fcomp qword [0x100a87a8]
fnstsw ax
test ah, 0x41
jne 0x10019667
fld qword [ebp - 0x270c]
push ecx
push ecx
fstp qword [esp]
call fcn.1001e7f8
fmul qword [0x100a87f0]
add esp, 8
fsubr qword [ebp - 0x270c]
fstp qword [ebp - 0x270c]
fld qword [ebp - 0x272c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x2714]
fstp qword [esp]
call fcn.1001eb05
fstp qword [esp + 8]
fld qword [ebp - 0x26ec]
fstp qword [esp]
call fcn.1001eaae
fcomp qword [0x100a87e8]
add esp, 0x10
fnstsw ax
test ah, 5
jp 0x1001980d
fld qword [ebp - 0x26fc]
push ecx
push ecx
fstp qword [esp]
call fcn.1001e7f8
fstp qword [ebp - 0x2714]
fld qword [ebp - 0x270c]
fstp qword [esp]
call fcn.1001e7f8
fld qword [ebp - 0x2714]
add esp, 8
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1001980d
cmp dword [ebp - 0x26e0], 0xc8
jge 0x1001980d
fld qword [ebp - 0x26fc]
mov eax, dword [ebp - 0x26e0]
fabs
mov ecx, dword [ebp - 0x26dc]
fld qword [ebp - 0x270c]
mov ebx, eax
fabs
mov dword [ebp + ebx*4 - 0xcdc], ecx
fadd st(1)
mov ecx, dword [ebp - 0x26d8]
mov dword [ebp + ebx*4 - 0x69c], ecx
mov ecx, dword [ebp - 0x26f0]
fdivp st(1)
dec ecx
mov dword [ebp - 0x26e8], ecx
sub esp, 0x10
mov dword [ebp + ebx*4 - 0x37c], edi
fmul qword [ebp - 0x273c]
fild dword [ebp - 0x26e8]
fmul qword [ebp - 0x273c]
faddp st(1)
fstp qword [ebp + eax*8 - 0x131c]
fld qword [ebp - 0x2754]
fstp qword [esp + 8]
fld qword [esi*8 + 0x100e5ad0]
fstp qword [esp]
call fcn.1001eaae
fstp qword [ebp - 0x2754]
fld qword [ebp - 0x276c]
fstp qword [esp + 8]
fld qword [esi*8 + 0x100e7d98]
fstp qword [esp]
call fcn.1001eaae
fcomp qword [ebp - 0x2754]
add esp, 0x10
fnstsw ax
test ah, 0x41
jne 0x100197aa
fld qword [ebp - 0x275c]
jmp 0x100197b0
fld qword [ebp - 0x2744]
push ecx
push ecx
fstp qword [esp]
call fcn.1001e8aa
mov eax, dword [ebp - 0x26e0]
fstp qword [ebp + eax*8 - 0x195c]
fld qword [esi*8 + 0x100e8338]
fstp qword [esp]
call fcn.1001e7f8
call fcn.100722b0
fld qword [esi*8 + 0x100e6070]
fstp qword [esp]
mov dword [ebp - 0x26e8], eax
call fcn.1001e7f8
add esp, 8
call fcn.100722b0
mov ecx, dword [ebp - 0x26e8]
add ecx, eax
inc dword [ebp - 0x26e0]
mov dword [ebp + ebx*4 - 0x9bc], ecx
inc dword [ebp - 0x26d8]
mov eax, dword [ebp - 0x26d8]
cmp eax, dword [ebp - 0x2700]
jle 0x1001949b
mov esi, dword [ebp - 0x26dc]
jmp 0x100199b1
cmp dword [ebp - 0x2700], eax
jl 0x100199b1
push esi
push dword [ebp - 0x26d8]
mov ebx, edi
call fcn.100080df
pop ecx
pop ecx
test eax, eax
je 0x10019999
cmp dword [ebp - 0x26d8], 2
fld qword [ebp + edi*8 - 0x2404]
mov ebx, esi
fld qword [ebx*8 + 0x100e5da0]
fld qword [ebx*8 + 0x100e8068]
jne 0x1001987c
fxch st(1)
fchs
fxch st(1)
fchs
fxch st(1)
push ecx
fsub st(2)
push ecx
fstp qword [ebp - 0x26fc]
fsubrp st(1)
fstp qword [ebp - 0x270c]
fld qword [ebp - 0x26fc]
fstp qword [esp]
call fcn.1001e7f8
fstp qword [ebp - 0x2744]
fld qword [ebp - 0x270c]
fstp qword [esp]
call fcn.1001e7f8
fld qword [ebp - 0x2744]
add esp, 8
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10019999
cmp dword [ebp - 0x26e0], 0xc8
jge 0x10019999
fld qword [ebp - 0x26fc]
mov eax, dword [ebp - 0x26e0]
fabs
mov ecx, dword [ebp - 0x26dc]
fld qword [ebp - 0x270c]
mov esi, eax
fabs
mov dword [ebp + esi*4 - 0xcdc], ecx
fadd st(1)
mov ecx, dword [ebp - 0x26d8]
mov dword [ebp + esi*4 - 0x69c], ecx
mov ecx, dword [ebp - 0x26f0]
fdivp st(1)
dec ecx
mov dword [ebp - 0x26e8], ecx
push ecx
push ecx
mov dword [ebp + esi*4 - 0x37c], edi
fmul qword [ebp - 0x273c]
fild dword [ebp - 0x26e8]
fmul qword [ebp - 0x273c]
faddp st(1)
fstp qword [ebp + eax*8 - 0x131c]
fld qword [ebp + edi*8 - 0x26d4]
fstp qword [ebp + eax*8 - 0x195c]
fld qword [ebx*8 + 0x100e8338]
fstp qword [esp]
call fcn.1001e7f8
call fcn.100722b0
fld qword [ebx*8 + 0x100e6070]
fstp qword [esp]
mov dword [ebp - 0x26e8], eax
call fcn.1001e7f8
add esp, 8
call fcn.100722b0
mov ecx, dword [ebp - 0x26e8]
add ecx, eax
inc dword [ebp - 0x26e0]
mov dword [ebp + esi*4 - 0x9bc], ecx
mov esi, dword [ebp - 0x26dc]
inc dword [ebp - 0x26d8]
mov eax, dword [ebp - 0x26d8]
cmp eax, dword [ebp - 0x2700]
jle 0x1001983c
inc esi
mov dword [ebp - 0x26dc], esi
cmp esi, 0x2a
jle 0x10019442
inc edi
cmp edi, 0x59
jle 0x10019228
cmp dword [ebp - 0x26e0], 1
jle 0x10019aba
mov eax, dword [ebp - 0x26e0]
and dword [ebp - 0x26d8], 0
dec eax
mov dword [ebp - 0x26e8], eax
mov esi, dword [ebp - 0x26d8]
test esi, esi
jmp 0x10019a9c
lea edx, [ebp + esi*8 - 0x131c]
fld qword [edx + 8]
fcomp qword [edx]
fnstsw ax
test ah, 5
jp 0x10019aa8
mov eax, esi
fld qword [edx]
fld qword [edx + 8]
lea ecx, [ebp + eax*4 - 0xcdc]
mov edi, dword [ecx + 4]
fstp qword [edx]
xor dword [ecx], edi
mov esi, dword [ecx]
fstp qword [edx + 8]
xor esi, edi
xor dword [ecx], esi
mov dword [ecx + 4], esi
lea edi, [ebp + eax*4 - 0x698]
mov ebx, dword [edi]
lea ecx, [ebp + eax*4 - 0x69c]
xor dword [ecx], ebx
mov esi, dword [ecx]
xor esi, ebx
xor dword [ecx], esi
mov dword [edi], esi
lea edi, [ebp + eax*4 - 0x378]
mov ebx, dword [edi]
lea ecx, [ebp + eax*4 - 0x37c]
xor dword [ecx], ebx
mov esi, dword [ecx]
xor esi, ebx
xor dword [ecx], esi
mov dword [edi], esi
mov esi, dword [ebp - 0x26dc]
lea ecx, [ebp + esi*8 - 0x195c]
fld qword [ecx]
lea edx, [ebp + esi*8 - 0x1954]
fld qword [edx]
fstp qword [ecx]
fstp qword [edx]
lea edx, [ebp + eax*4 - 0x9b8]
mov edi, dword [edx]
lea eax, [ebp + eax*4 - 0x9bc]
xor dword [eax], edi
mov ecx, dword [eax]
xor ecx, edi
xor dword [eax], ecx
mov dword [edx], ecx
dec esi
mov dword [ebp - 0x26dc], esi
jns 0x100199f9
inc dword [ebp - 0x26d8]
dec dword [ebp - 0x26e8]
jne 0x100199ec
and dword [ebp - 0x26d8], 0
cmp dword [ebp - 0x26e0], 0
jle 0x10019dd5
mov eax, dword [ebp - 0x26d8]
fld qword [ebp + eax*8 - 0x131c]
fmul qword [0x100a9870]
call fcn.100722b0
xor esi, esi
mov ecx, eax
mov dword [ebp - 0x26dc], ecx
cmp dword [0x100e0644], esi
je 0x10019b12
cdq
mov edi, 0x15180
idiv edi
mov ebx, eax
imul eax, eax, 0xfffeae80
add ecx, eax
mov dword [ebp - 0x26dc], ecx
jmp 0x10019b19
mov ebx, dword [0x100e0b4c]
dec ebx
mov eax, ecx
cdq
mov edi, 0xe10
idiv edi
push 0x3c
pop edi
mov dword [ebp - 0x26f8], eax
imul eax, eax, 0xe10
sub ecx, eax
mov eax, ecx
cdq
idiv edi
mov dword [ebp - 0x2708], eax
cmp dword [0x100e06d4], esi
je 0x10019b54
imul eax, eax, 0x3c
sub ecx, eax
mov dword [ebp - 0x26e8], ecx
jmp 0x10019b5b
or dword [ebp - 0x26e8], 0xffffffff
fild dword [ebp - 0x26dc]
mov eax, dword [0x100e0b48]
mov dword [0x100e0b88], eax
mov eax, dword [0x100e0b50]
fdiv qword [0x100a8a08]
inc ebx
mov dword [0x100e0b8c], ebx
mov dword [0x100e0b90], eax
fstp qword [0x100e0b98]
fld qword [0x100e0b60]
fstp qword [0x100e0ba0]
fld qword [0x100e0b68]
fstp qword [0x100e0ba8]
fld qword [0x100e0b70]
fstp qword [0x100e0bb0]
fld qword [0x100e0b78]
fstp qword [0x100e0bb8]
cmp dword [0x100e0780], esi
jne 0x10019c3d
mov eax, dword [0x100e08b0]
test eax, eax
je 0x10019c3d
cmp byte [eax], 0
je 0x10019c3d
push 0x10
pop ecx
mov esi, 0x100e0b88
mov edi, 0x100e0a08
push 0xffffffffffffffff
rep movsd dword es:[edi], dword [esi]
call fcn.10006c7a
mov eax, dword [ebp - 0x26d8]
mov edx, dword [ebp + eax*4 - 0xcdc]
fstp st(0)
xor ecx, ecx
mov dword [0x100eb9f8], edx
mov edx, dword [ebp + eax*4 - 0x69c]
mov eax, dword [ebp + eax*4 - 0x37c]
add esp, 4
push dword [0x100e08b0]
mov dword [0x100eba08], ecx
mov dword [0x100eba20], ecx
mov dword [0x100eba10], edx
mov dword [0x100eba38], ecx
mov dword [0x100eba28], eax
call fcn.1001e5c8
pop ecx
test eax, eax
je 0x10019dbd
cmp dword [0x100e06d4], 0
je 0x10019c8e
mov eax, dword [0x100e0b50]
mov ecx, dword [0x100e0b48]
mov edi, ebx
call fcn.1001ef99
mov esi, eax
mov ecx, dword [esi*4 + 0x100e1fa4]
call fcn.1001f4dd
push dword [esi*4 + 0x100e11a4]
lea eax, [ebp - 0x5c]
push 0x10092d4c
push eax
call fcn.10062ff4
add esp, 0xc
lea ecx, [ebp - 0x5c]
call fcn.1001f16b
or ecx, 0xffffffff
call fcn.1001f4dd
mov edi, dword [ebp - 0x26e8]
mov eax, dword [ebp - 0x2708]
mov ecx, dword [ebp - 0x26f8]
call fcn.1001fb45
mov ecx, dword [0x100e0b48]
push eax
mov eax, dword [0x100e0b50]
xor edx, edx
mov esi, ebx
call fcn.1001fa7d
push eax
lea eax, [ebp - 0x5c]
push 0x1009b464
push eax
call fcn.10062ff4
lea ecx, [ebp - 0x5c]
call fcn.1001f16b
mov esi, dword [ebp - 0x26d8]
mov edi, dword [ebp + esi*4 - 0x37c]
mov eax, dword [ebp + esi*4 - 0x69c]
fld qword [ebp + edi*8 - 0x26d4]
cmp dword [ebp + 8], 0
fstp qword [esp + 8]
mov ebx, dword [ebp + esi*4 - 0xcdc]
mov dword [ebp - 0x26dc], eax
mov eax, esi
fld qword [ebp + eax*8 - 0x195c]
setne al
add al, 0x74
fstp qword [esp]
fld qword [ebp + edi*8 - 0x2134]
movzx eax, al
push eax
push ecx
push ecx
fstp qword [esp]
call fcn.1001e7f8
add esp, 8
call fcn.100722b0
mov edx, dword [ebp - 0x26dc]
push eax
push dword [ebp + esi*4 - 0x9bc]
mov ecx, edi
push ebx
call fcn.1001562f
add esp, 0x20
cmp dword [ebp - 0x26dc], 1
jne 0x10019d97
cmp ebx, edi
jne 0x10019d97
mov ecx, dword [0x100e1dd8]
call fcn.1001f4dd
cmp ebx, 1
jne 0x10019d6c
mov eax, str.Solar
jmp 0x10019d7d
mov eax, str.Lunar
cmp ebx, 2
je 0x10019d7d
mov eax, dword [ebx*4 + 0x100e7c30]
push eax
lea eax, [ebp - 0x5c]
push str.___s_Return_
push eax
call fcn.10062ff4
add esp, 0xc
lea ecx, [ebp - 0x5c]
call fcn.1001f16b
mov al, 0xa
call fcn.1001f3a9
cmp dword [0x100e0694], 0
je 0x10019db5
push dword [ebp - 0x26dc]
mov ecx, edi
call fcn.10020e71
pop ecx
or ecx, 0xffffffff
call fcn.1001f4dd
inc dword [ebp - 0x26d8]
mov eax, dword [ebp - 0x26d8]
cmp eax, dword [ebp - 0x26e0]
jl 0x10019ace
mov esi, dword [ebp - 0x26e0]
cmp esi, 0xc8
jl 0x10019ded
mov ecx, str.Too_many_transits_found._n
call fcn.1001f16b
add dword [ebp - 0x2724], esi
inc dword [ebp - 0x26f0]
mov eax, dword [ebp - 0x26f0]
cmp eax, dword [ebp - 0x271c]
jle 0x100190ab
mov ebx, dword [0x100e0b48]
mov esi, dword [0x100e0b50]
inc ebx
mov dword [0x100e0b48], ebx
cmp ebx, dword [ebp - 0x2720]
jle 0x10018f0a
inc esi
mov dword [0x100e0b50], esi
cmp esi, dword [ebp - 0x2730]
jle 0x10018ee6
cmp dword [ebp - 0x2724], 0
jne 0x10019e50
mov ecx, str.No_transits_found._n
call fcn.1001f16b
and dword [0x100e0690], 0
push 0x10
pop ecx
mov esi, 0x100e0a48
mov edi, 0x100e0a08
rep movsd dword es:[edi], dword [esi]
push 0x10
pop ecx
lea esi, [ebp - 0x27c4]
mov edi, 0x100e0b48
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x35e
lea esi, [ebp - 0x26d4]
mov edi, 0x100e6eb8
push 1
rep movsd dword es:[edi], dword [esi]
call fcn.10006c7a
mov ecx, dword [ebp - 8]
add esp, 4
fstp st(0)
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10062fe5
leave
ret