Function at 0x10059bf9
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x100ba2d8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100e0644]
or dword [ebp - 0x94], 0xffffffff
push ebx
xor ebx, ebx
mov dword [ebp - 0xa4], eax
mov eax, dword [0x100e0648]
push esi
push edi
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0xa0], eax
cmp dword [0x100e074c], ebx
je 0x10059c5b
cmp dword [ebp + 8], ebx
jne 0x10059c5b
cmp dword [0x100e07a4], ebx
jne 0x10059c5b
mov dword [ebp - 0xb4], 1
cmp dword [0x100e0620], ebx
je 0x10059c61
mov dword [ebp - 0xb4], ebx
mov esi, 0x964b0
mov edi, str.transit_graph_grid
mov ecx, esi
call fcn.1002015f
mov dword [ebp - 0x8c], eax
cmp eax, ebx
je 0x1005aa8c
push esi
push ebx
push eax
call fcn.1006a660
add esp, 0xc
cmp dword [ebp + 8], ebx
jne 0x10059cf3
cmp dword [ebp + 0xc], ebx
jne 0x10059cf3
push 0x10
pop ecx
mov esi, 0x100e0a48
lea edi, [ebp - 0x120]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x100e07a0]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x100bb668]
mov edi, dword [0x100bb670]
imul eax, eax, 0xc
imul edi, dword [ebp + 8]
mov dword [ebp - 0x84], eax
imul eax, eax, 3
imul edi, edi, 0x14
add edi, eax
xor eax, eax
inc eax
sub eax, dword [ebp + 8]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0xa4], ebx
jne 0x10059d1c
mov dword [ebp - 0x68], 0x18
jmp 0x10059d5b
push 0x10
pop ecx
mov esi, 0x100e0b48
lea edi, [ebp - 0x120]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp + 8], ebx
je 0x10059ca5
cmp dword [0x100e08fc], ebx
je 0x10059ca5
mov dword [ebp - 0xa8], 1
jmp 0x10059cb0
cmp dword [ebp - 0xa0], ebx
jne 0x10059d45
mov eax, dword [ebp - 0x120]
cmp eax, 9
je 0x10059d3c
mov esi, dword [ebp - 0x118]
call fcn.1001eef8
jmp 0x10059d58
mov dword [ebp - 0x68], 0x1e
jmp 0x10059d5b
xor eax, eax
cmp dword [0x100e0788], 1
setg al
dec eax
and eax, 0xffffffd0
add eax, 0x3c
mov dword [ebp - 0x68], eax
mov eax, dword [0x100bb594]
sub eax, edi
sub eax, 2
cdq
idiv dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x6c], eax
jg 0x10059d77
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x6c]
imul ebx, dword [ebp - 0x68]
inc ebx
xor edi, edi
mov dword [ebp - 0x88], ebx
cmp dword [ebp + 8], edi
jne 0x10059d91
cmp dword [ebp + 0xc], edi
je 0x10059dc6
and dword [0x100e0690], 0
push 0x10
pop ecx
mov esi, 0x100e0a48
mov edi, 0x100e0a08
push 0
rep movsd dword es:[edi], dword [esi]
call fcn.10006c7a
mov ecx, 0x35e
mov esi, 0x100e6eb8
fstp st(0)
mov edi, 0x100e5ad0
add esp, 4
rep movsd dword es:[edi], dword [esi]
xor edi, edi
fld qword [0x100a8de8]
cmp dword [0x100bb554], edi
jne 0x10059ee3
cmp dword [ebp - 0xa4], edi
jne 0x10059dee
fild dword [ebp - 0x6c]
fmul qword [ebp - 0x110]
jmp 0x10059ebe
cmp dword [ebp - 0xa0], edi
jne 0x10059e12
mov eax, dword [ebp - 0x11c]
dec eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
fld qword [ebp - 0x110]
fdiv st(2)
faddp st(1)
jmp 0x10059ebb
cmp dword [0x100e0788], 1
jg 0x10059e6a
cmp dword [ebp - 0x120], 9
je 0x10059e3a
mov esi, dword [ebp - 0x118]
mov eax, dword [ebp - 0x120]
call fcn.1001eef8
mov dword [ebp - 0x5c], eax
jmp 0x10059e41
mov dword [ebp - 0x5c], 0x1e
mov eax, dword [ebp - 0x11c]
dec eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
mov eax, dword [ebp - 0x120]
fld qword [ebp - 0x110]
dec eax
fdiv st(2)
mov dword [ebp - 0x60], eax
faddp st(1)
fidiv dword [ebp - 0x5c]
fild dword [ebp - 0x60]
jmp 0x10059e0b
cmp dword [ebp - 0x120], 9
je 0x10059e89
mov esi, dword [ebp - 0x118]
mov eax, dword [ebp - 0x120]
call fcn.1001eef8
mov dword [ebp - 0x5c], eax
jmp 0x10059e90
mov dword [ebp - 0x5c], 0x1e
mov eax, dword [ebp - 0x11c]
dec eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
mov eax, dword [ebp - 0x120]
fld qword [ebp - 0x110]
dec eax
fdiv st(2)
mov dword [ebp - 0x60], eax
faddp st(1)
fidiv dword [ebp - 0x5c]
fild dword [ebp - 0x60]
faddp st(1)
fadd st(1)
fimul dword [ebp - 0x6c]
call fcn.100722b0
mov dword [ebp - 0x94], eax
cmp eax, edi
jne 0x10059ee3
fldz
fcomp qword [ebp - 0x110]
fnstsw ax
test ah, 1
jne 0x10059ee3
or dword [ebp - 0x94], 0xffffffff
mov dword [ebp - 0x74], edi
cmp ebx, edi
jle 0x1005a39a
fild dword [ebp - 0x6c]
fstp qword [ebp - 0xe0]
jmp 0x10059eff
fld qword [0x100a8de8]
mov eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x6c]
cmp dword [ebp - 0xa4], 0
push 0x10
pop ecx
lea esi, [ebp - 0x120]
mov edi, 0x100e0a08
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov dword [ebp - 0x5c], eax
fdiv qword [ebp - 0xe0]
jne 0x10059f3e
fstp st(1)
fiadd dword [ebp - 0x5c]
mov ebx, dword [0x100e0a08]
jmp 0x10059fe0
cmp dword [ebp - 0xa0], 0
jne 0x10059f51
inc eax
fmulp st(1)
mov dword [0x100e0a0c], eax
jmp 0x10059f33
cmp dword [0x100e0788], 1
fstp st(1)
jg 0x10059f72
lea ebx, [eax + 1]
mov dword [0x100e0a08], ebx
cmp ebx, 9
je 0x10059fa2
mov esi, dword [0x100e0a10]
jmp 0x10059f96
push 0xc
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x118]
lea ebx, [edx + 1]
lea esi, [eax + ecx - 2]
mov dword [0x100e0a10], esi
mov dword [0x100e0a08], ebx
cmp ebx, 9
je 0x10059fa2
mov eax, ebx
call fcn.1001eef8
mov dword [ebp - 0x5c], eax
jmp 0x10059fa9
mov dword [ebp - 0x5c], 0x1e
fimul dword [ebp - 0x5c]
fstp qword [ebp - 0xb0]
fld qword [ebp - 0xb0]
call fcn.100722b0
fld qword [ebp - 0xb0]
push ecx
push ecx
fstp qword [esp]
mov dword [0x100e0a0c], eax
call fcn.10072490
fsubr qword [ebp - 0xb0]
pop ecx
pop ecx
fmul qword [0x100a8de8]
cmp dword [ebp + 8], 0
fstp qword [0x100e0a18]
je 0x1005a01b
xor edi, edi
movzx edx, byte [edi + 0x100e0e18]
movzx ecx, byte [edi + 0x100e0d88]
xor ecx, edx
mov byte [edi + 0x100e0d88], cl
movzx ecx, cl
xor ecx, edx
xor byte [edi + 0x100e0d88], cl
mov byte [edi + 0x100e0e18], cl
inc edi
cmp edi, 0x2a
jle 0x10059fee
mov eax, dword [ebp + 0xc]
mov dword [0x100e0690], eax
test eax, eax
je 0x1005a072
fld qword [0x100e0a28]
mov edi, dword [0x100e0a0c]
sub esp, 0x18
fstp qword [esp + 0x10]
mov ecx, ebx
fld qword [0x100e0a20]
fstp qword [esp + 8]
fld qword [0x100e0a18]
fstp qword [esp]
push dword [0x100e0a10]
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]
push 0xffffffffffffffff
call fcn.10006c7a
fstp st(0)
xor esi, esi
add esp, 4
cmp dword [ebp + 8], esi
je 0x1005a144
movzx edi, byte [esi + 0x100e0e18]
movzx ecx, byte [esi + 0x100e0d88]
xor ecx, edi
mov byte [esi + 0x100e0d88], cl
movzx ecx, cl
xor ecx, edi
xor byte [esi + 0x100e0d88], cl
mov byte [esi + 0x100e0e18], cl
inc esi
cmp esi, 0x2a
jle 0x1005a089
mov ecx, 0x35e
mov esi, 0x100e6eb8
mov edi, 0x100e7d98
push 0
rep movsd dword es:[edi], dword [esi]
call fcn.100088f3
pop ecx
test eax, eax
je 0x1005aa8c
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x64], edx
cmp edx, 0x59
jg 0x1005a386
xor esi, esi
cmp byte [edx + 0x100e0d88], 0
jne 0x1005a379
cmp dword [ebp + 8], esi
jne 0x1005a135
cmp dword [0x100e064c], esi
jne 0x1005a135
cmp edx, 0x16
jl 0x1005a113
cmp edx, 0x21
jle 0x1005a379
cmp dword [0x100e0644], esi
je 0x1005a135
cmp edx, 2
je 0x1005a379
cmp dword [0x100e0648], esi
je 0x1005a135
cmp edx, 5
jle 0x1005a379
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp + 8], esi
je 0x1005a14c
push 0x5a
pop ecx
jmp 0x1005a14e
push esi
call fcn.10008751
jmp 0x1005a0ce
mov ecx, edx
cmp eax, ecx
jge 0x1005a379
cmp dword [ebp + 8], esi
jne 0x1005a169
mov edx, eax
call fcn.100564b9
neg eax
sbb eax, eax
inc eax
jmp 0x1005a1ad
cmp byte [eax + 0x100e0e18], 0
jne 0x1005a1aa
cmp dword [0x100e064c], esi
jne 0x1005a19e
cmp eax, 0x16
jl 0x1005a184
cmp eax, 0x21
jle 0x1005a1aa
cmp dword [0x100e0644], esi
je 0x1005a19e
cmp eax, 2
je 0x1005a1aa
cmp dword [0x100e0648], esi
je 0x1005a19e
cmp eax, 5
jle 0x1005a1aa
cmp dword [0x100e08fc], esi
je 0x1005a1bb
cmp eax, edx
je 0x1005a1bb
xor eax, eax
inc eax
cmp eax, esi
jne 0x1005a369
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x64]
mov ecx, dword [0x100ed8e0]
imul eax, eax, 0x5a
add ecx, eax
movzx ecx, byte [ecx + edx]
mov dword [ebp - 0x7c], ecx
cmp ecx, 1
jl 0x1005a369
cmp ecx, dword [ebp - 0xa8]
jg 0x1005a369
mov ecx, dword [ebp - 0x64]
lea ebx, [eax + ecx]
mov ecx, dword [ebp - 0x8c]
mov eax, ebx
imul eax, eax, 0x13
add eax, dword [ebp - 0x7c]
lea esi, [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
jne 0x1005a234
mov ecx, dword [ebp - 0x88]
add ecx, ecx
mov edi, str.transit_ephemeris_entry
mov dword [ebp - 0x60], ecx
call fcn.1002015f
mov dword [esi], eax
test eax, eax
je 0x1005aa8c
push dword [ebp - 0x60]
mov dword [ebp - 0x70], eax
push eax
call fcn.1001e7c1
inc dword [ebp - 0x98]
pop ecx
pop ecx
jmp 0x1005a237
mov dword [ebp - 0x70], eax
mov eax, dword [0x100ed8e0]
mov eax, dword [eax + ebx*4 + 0x1fa4]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x60], eax
mov edi, dword [ebp - 0x74]
fild dword [ebp - 0x60]
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x78]
fdiv qword [0x100a8a08]
add edi, edi
mov dword [ebp - 0x5c], edi
fstp qword [ebp - 0xb0]
call fcn.1001efff
fdivr qword [ebp - 0xb0]
fmul qword [0x100aaee0]
call fcn.100722e6
mov ecx, dword [ebp - 0x70]
dec ax
cmp dword [ebp - 0xb4], 0
mov word [edi + ecx], ax
je 0x1005a369
cmp dword [ebp - 0x7c], 1
jne 0x1005a2af
mov edi, esi
mov esi, dword [ebp - 0x78]
lea ebx, [ebp - 0xd8]
call fcn.10008a4f
jmp 0x1005a2d7
cmp dword [ebp - 0x7c], 2
jne 0x1005a369
cmp dword [ebp - 0x78], 1
jne 0x1005a369
cmp esi, 2
jne 0x1005a369
lea esi, [ebp - 0xd8]
call fcn.10008c6d
mov dword [ebp - 0x70], eax
test eax, eax
jle 0x1005a369
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x8c]
imul eax, eax, 0x5a
add eax, dword [ebp - 0x78]
imul eax, eax, 0x13
add eax, dword [ebp - 0x7c]
lea esi, [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
jne 0x1005a32b
mov ebx, dword [ebp - 0x88]
add ebx, ebx
mov edi, str.transit_eclipse_entry
mov ecx, ebx
call fcn.1002015f
mov dword [esi], eax
test eax, eax
je 0x1005aa8c
mov esi, eax
push ebx
push esi
call fcn.1001e7c1
pop ecx
pop ecx
jmp 0x1005a32d
mov esi, eax
cmp dword [ebp - 0x70], 3
jge 0x1005a33b
fld qword [0x100a8898]
jmp 0x1005a34b
jle 0x1005a345
fld qword [0x100aaed8]
jmp 0x1005a34b
fld qword [0x100aaed0]
fadd qword [ebp - 0xd8]
fmul qword [0x100aaec8]
fdiv qword [0x100aaec0]
call fcn.100722e6
mov ecx, dword [ebp - 0x5c]
mov word [ecx + esi], ax
inc dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x64]
xor esi, esi
jmp 0x1005a13a
inc edx
mov dword [ebp - 0x64], edx
cmp edx, 0x59
jle 0x1005a0eb
inc dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x88]
jl 0x10059ef9
jmp 0x1005a39c
fstp st(0)
mov eax, dword [0x100bb674]
mov esi, dword [0x100bb684]
mov ecx, eax
imul ecx, ecx, 0xc
lea ebx, [eax + eax]
xor edi, edi
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x80], ebx
call fcn.1005fd93
cmp dword [ebp - 0xa4], edi
jne 0x1005a3ee
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
xor edx, edx
call fcn.1001fa7d
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10062ff4
pop ecx
pop ecx
jmp 0x1005a442
cmp dword [ebp - 0xa0], edi
jne 0x1005a41c
push dword [ebp - 0x118]
mov eax, dword [ebp - 0x120]
push dword [eax*4 + 0x100e111c]
lea eax, [ebp - 0x58]
push str._3.3s_5d
push eax
call fcn.10062ff4
add esp, 0x10
jmp 0x1005a442
cmp dword [0x100e0788], 1
jg 0x1005a43e
push dword [ebp - 0x118]
lea eax, [ebp - 0x58]
push 0x1009b548
push eax
call fcn.10062ff4
add esp, 0xc
jmp 0x1005a442
mov byte [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
call fcn.1001e657
imul eax, dword [0x100bb674]
imul eax, eax, 6
cmp eax, dword [ebp - 0x90]
jge 0x1005a468
push 0x23
push ebx
mov eax, ebx
call fcn.100615a9
pop ecx
pop ecx
mov esi, dword [0x100bb68c]
call fcn.1005fd93
cmp dword [ebp - 0xa4], edi
jne 0x1005a4e9
mov edi, dword [ebp - 0x90]
xor esi, esi
cmp dword [0x100e0728], 0
jne 0x1005a4ba
xor eax, eax
cmp esi, 0xc
setge al
dec eax
and eax, 0xfffffff1
add eax, 0x70
push eax
push 0xc
pop ecx
lea eax, [esi + 0xb]
cdq
idiv ecx
lea eax, [ebp - 0x58]
inc edx
push edx
push str._d_c
push eax
call fcn.10062ff4
add esp, 0x10
jmp 0x1005a4cc
push esi
lea eax, [ebp - 0x58]
push 0x10092e88
push eax
call fcn.10062ff4
add esp, 0xc
push 0x23
push ebx
mov eax, edi
lea ecx, [ebp - 0x58]
call fcn.100615a9
add edi, dword [ebp - 0x6c]
inc esi
pop ecx
pop ecx
cmp esi, 0x18
jl 0x1005a483
jmp 0x1005a609
cmp dword [ebp - 0xa0], edi
jne 0x1005a55f
cmp dword [ebp - 0x68], edi
jle 0x1005a609
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x90]
xor edi, edi
inc edi
mov dword [ebp - 0x5c], eax
cmp dword [0x100bb620], 0
je 0x1005a52e
mov eax, dword [0x100e0a10]
mov ecx, dword [0x100e0a08]
call fcn.1001ef99
mov esi, dword [eax*4 + 0x100ed8c4]
call fcn.1005fd93
push edi
lea eax, [ebp - 0x58]
push 0x10092e88
push eax
call fcn.10062ff4
add esp, 0xc
push 0x23
push dword [ebp - 0x80]
mov eax, ebx
lea ecx, [ebp - 0x58]
call fcn.100615a9
add ebx, dword [ebp - 0x6c]
pop ecx
inc edi
dec dword [ebp - 0x5c]
pop ecx
jne 0x1005a509
jmp 0x1005a609
mov ebx, dword [ebp - 0x90]
xor edi, edi
cmp dword [0x100e0788], 1
jg 0x1005a5be
cmp dword [0x100bb620], 0
je 0x1005a58a
mov eax, edi
and eax, 3
mov esi, dword [eax*4 + 0x100ed374]
call fcn.1005fd93
push dword [edi*4 + 0x100e1120]
lea eax, [ebp - 0x58]
push 0x10098c4c
push eax
call fcn.10062ff4
add esp, 0xc
push 0x23
push dword [ebp - 0x80]
mov eax, ebx
lea ecx, [ebp - 0x58]
call fcn.100615a9
add ebx, dword [ebp - 0x6c]
inc edi
pop ecx
pop ecx
cmp edi, 0xc
jl 0x1005a570
jmp 0x1005a609
mov esi, dword [ebp - 0x6c]
imul esi, esi, 0xc
cmp dword [ebp + 8], 0
jne 0x1005a5d5
cmp dword [ebp + 0xc], 0
mov eax, dword [0x100e0a50]
je 0x1005a5da
mov eax, dword [0x100e0b50]
lea eax, [eax + edi - 2]
push eax
lea eax, [ebp - 0x58]
push 0x10092e88
push eax
call fcn.10062ff4
add esp, 0xc
push 0x23
push dword [ebp - 0x80]
mov eax, ebx
lea ecx, [ebp - 0x58]
call fcn.100615a9
inc edi
pop ecx
add ebx, esi
pop ecx
cmp edi, 5
jl 0x1005a5c4
mov eax, dword [0x100bb598]
mov ecx, dword [ebp - 0x84]
cdq
lea ecx, [ecx + 1]
idiv ecx
push 0x18
and dword [ebp - 0xb8], 0
mov ecx, eax
mov eax, dword [ebp - 0x98]
sub eax, ecx
movsx ecx, word [0x100bb75e]
imul eax, ecx
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x64], eax
cmp eax, 0x59
jg 0x1005aa8c
mov ecx, eax
imul ecx, ecx, 0x5a
imul eax, eax, 0x4c
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x8c]
lea eax, [eax + ecx + 4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
and dword [ebp - 0x78], 0
mov dword [ebp - 0xc4], eax
cmp dword [ebp + 8], 0
je 0x1005a689
push 0x5a
pop eax
jmp 0x1005a68c
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x78], eax
jge 0x1005aa74
xor eax, eax
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0xa8], eax
jl 0x1005aa62
mov eax, dword [ebp - 0xb8]
imul eax, dword [ebp - 0x84]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xbc], 0x100ed834
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x1005aa42
cmp dword [ebp - 0x98], 0
jle 0x1005a6f7
dec dword [ebp - 0x98]
jmp 0x1005aa42
mov eax, dword [ebp - 0x84]
add dword [ebp - 0xc0], eax
mov edi, dword [ebp - 0xdc]
inc dword [ebp - 0xb8]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
add edi, dword [ebp - 0xc0]
mov dword [ebp - 0x60], eax
add eax, edi
mov dword [ebp - 0x80], eax
cmp eax, dword [0x100bb598]
jge 0x1005aa8c
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x1005a775
mov esi, dword [0x100bb690]
call fcn.1005fd93
mov ecx, 0x1009b5cc
cmp dword [ebp + 0xc], ebx
je 0x1005a751
mov ecx, 0x1009b5d0
mov eax, dword [0x100bb670]
lea edx, [edi + eax*2]
imul eax, eax, 5
add eax, dword [0x100bb668]
push 0x20
push edx
call fcn.100615a9
mov ebx, dword [0x100bb670]
pop ecx
imul ebx, ebx, 0xa
pop ecx
add ebx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x78]
push edi
push ebx
call fcn.10061b2a
mov eax, dword [ebp - 0xbc]
mov esi, dword [eax]
add ebx, dword [ebp - 0x84]
call fcn.1005fd93
mov ecx, dword [ebp - 0x7c]
push ebx
mov eax, edi
call fcn.1006209d
add ebx, dword [ebp - 0x84]
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x1005a7fc
mov eax, dword [ebp - 0x64]
fld qword [eax*8 + 0x100e5ad0]
call fcn.100722b0
cdq
push 0x1e
pop ecx
idiv ecx
mov esi, dword [eax*4 + 0x100ed5f0]
call fcn.1005fd93
mov eax, dword [0x100bb670]
lea ecx, [edi + eax*2]
sub eax, dword [0x100bb668]
push 0x20
imul eax, eax, 5
push ecx
add eax, ebx
mov ecx, 0x1009b5dc
call fcn.100615a9
mov eax, dword [0x100bb670]
imul eax, eax, 0xa
pop ecx
pop ecx
add ebx, eax
mov eax, dword [ebp - 0x64]
push edi
push ebx
call fcn.10061b2a
mov esi, dword [0x100bb690]
call fcn.1005fd93
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x90]
lea esi, [eax + ecx - 1]
mov ecx, dword [ebp - 0x80]
push esi
push 0
mov eax, ecx
call fcn.10060152
add esp, 0x10
cmp dword [ebp - 0xb8], 1
jg 0x1005a84c
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x84]
push esi
push 0
mov ecx, eax
call fcn.10060152
pop ecx
pop ecx
or dword [ebp - 0xd0], 0xffffffff
mov eax, dword [ebp - 0x70]
xor esi, esi
xor ecx, ecx
cmp dword [ebp - 0x88], esi
jle 0x1005a87d
movzx edx, word [eax + ecx*2]
cmp edx, dword [ebp - 0xd0]
jle 0x1005a874
mov dword [ebp - 0xd0], edx
inc ecx
cmp ecx, dword [ebp - 0x88]
jl 0x1005a862
mov dword [ebp - 0x74], esi
cmp dword [ebp - 0x88], esi
jle 0x1005aa42
mov edi, dword [ebp - 0x90]
lea ebx, [eax + 2]
mov dword [ebp - 0x70], 0xfffffffe
sub dword [ebp - 0x70], eax
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x60], ebx
jmp 0x1005a8aa
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x94]
jne 0x1005a8d8
mov esi, dword [0x100e68b0]
call fcn.1005fd93
mov ecx, dword [ebp - 0x80]
lea eax, [ecx - 1]
sub ecx, dword [ebp - 0x84]
push edi
inc ecx
push edi
call fcn.10060152
pop ecx
pop ecx
jmp 0x1005a93d
cdq
idiv dword [ebp - 0x6c]
test edx, edx
jne 0x1005a93d
mov esi, dword [0x100bb690]
call fcn.1005fd93
xor ecx, ecx
inc ecx
cmp dword [ebp - 0xa4], 0
je 0x1005a91b
cmp dword [ebp - 0xa0], 0
je 0x1005a91b
cmp dword [0x100e0788], ecx
jle 0x1005a91b
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x74]
imul esi, esi, 0xc
cdq
idiv esi
test edx, edx
jle 0x1005a91b
push 3
pop ecx
mov esi, dword [ebp - 0x80]
xor eax, eax
cmp ecx, 1
setg al
push ecx
push esi
push edi
sub eax, dword [ebp - 0x84]
lea eax, [eax + esi + 1]
push eax
push edi
call fcn.100608d1
add esp, 0x14
movzx ecx, word [ebx - 2]
test ecx, ecx
jle 0x1005aa27
mov edx, dword [ebp - 0x84]
dec edx
lea eax, [ecx - 1]
imul eax, edx
mov dword [ebp - 0xac], edx
cdq
mov esi, 0xffff
idiv esi
mov dword [ebp - 0xd4], eax
cmp ecx, dword [ebp - 0xd0]
jge 0x1005a99d
cmp dword [ebp - 0x74], 0
jle 0x1005a980
movzx eax, word [ebx - 4]
cmp ecx, eax
jle 0x1005a993
mov eax, dword [ebp - 0x88]
dec eax
cmp dword [ebp - 0x74], eax
jge 0x1005a99d
movzx eax, word [ebx]
cmp ecx, eax
jg 0x1005a99d
mov eax, dword [ebp - 0xbc]
mov esi, dword [eax]
jmp 0x1005a9a3
mov esi, dword [0x100bb684]
call fcn.1005fd93
mov edi, dword [ebp - 0x80]
push dword [ebp - 0x68]
mov ecx, edi
sub ecx, dword [ebp - 0xd4]
push dword [ebp - 0x68]
dec ecx
lea eax, [edi - 1]
call fcn.10060152
cmp dword [ebp - 0xb4], 0
pop ecx
pop ecx
je 0x1005aa27
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x8c]
imul ecx, ecx, 0x13
add ecx, dword [ebp - 0x7c]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1005aa27
add eax, dword [ebp - 0x70]
movzx eax, word [eax + ebx]
test ax, ax
je 0x1005aa27
dec eax
imul eax, dword [ebp - 0xac]
cdq
mov ecx, 0xffff
idiv ecx
mov esi, dword [0x100e68b8]
mov ebx, eax
call fcn.1005fd93
push dword [ebp - 0x68]
mov ecx, edi
push dword [ebp - 0x68]
sub ecx, ebx
dec ecx
lea eax, [edi - 1]
call fcn.10060152
mov ebx, dword [ebp - 0x60]
pop ecx
pop ecx
inc dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
add ebx, 2
inc dword [ebp - 0x68]
mov dword [ebp - 0x60], ebx
cmp eax, dword [ebp - 0x88]
jl 0x1005a8a7
inc dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
add dword [ebp - 0xcc], 4
add dword [ebp - 0xbc], 4
cmp eax, dword [ebp - 0xa8]
jle 0x1005a6d0
inc dword [ebp - 0x78]
add dword [ebp - 0xc4], 0x1ab8
jmp 0x1005a67e
inc dword [ebp - 0x64]
add dword [ebp - 0xc8], 0x4c
add dword [ebp - 0x5c], 0x5a
cmp dword [ebp - 0x64], 0x59
jle 0x1005a66e
cmp dword [0x100bb558], 0
je 0x1005aac7
mov esi, dword [0x100bb684]
call fcn.1005fd93
mov eax, dword [0x100bb670]
push eax
push eax
mov eax, dword [0x100bb598]
dec eax
push eax
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x90]
xor esi, esi
push eax
xor eax, eax
call fcn.1006036e
add esp, 0x10
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x64], eax
cmp eax, 0x59
jg 0x1005ab86
mov ecx, dword [ebp - 0x8c]
mov esi, eax
imul esi, esi, 0x5a
imul eax, eax, 0x4c
lea eax, [eax + ecx + 4]
mov dword [ebp - 0x60], eax
xor ebx, ebx
mov dword [ebp - 0x5c], eax
cmp dword [ebp + 8], 0
je 0x1005aafe
push 0x5a
pop eax
jmp 0x1005ab01
mov eax, dword [ebp - 0x64]
cmp ebx, eax
jge 0x1005ab6b
xor edi, edi
inc edi
cmp dword [ebp - 0xa8], edi
jl 0x1005ab61
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
test eax, eax
je 0x1005ab2c
push eax
call fcn.100201c8
pop ecx
cmp dword [ebp - 0xb4], 0
je 0x1005ab51
mov ecx, dword [ebp - 0x8c]
lea eax, [esi + ebx]
imul eax, eax, 0x13
add eax, edi
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x1005ab51
push eax
call fcn.100201c8
pop ecx
add dword [ebp - 0x9c], 4
inc edi
cmp edi, dword [ebp - 0xa8]
jle 0x1005ab19
inc ebx
add dword [ebp - 0x5c], 0x1ab8
jmp 0x1005aaf3
mov eax, dword [ebp - 0x60]
inc dword [ebp - 0x64]
add eax, 0x4c
add esi, 0x5a
mov dword [ebp - 0x60], eax
cmp esi, 0x1f4a
jle 0x1005aaee
cmp dword [ebp - 0x8c], 0
je 0x1005ab9b
push dword [ebp - 0x8c]
call fcn.100201c8
pop ecx
and dword [0x100e0690], 0
push 0x10
pop ecx
mov esi, 0x100e0a48
mov edi, 0x100e0a08
push 1
rep movsd dword es:[edi], dword [esi]
call fcn.10006c7a
mov ecx, dword [ebp - 4]
add esp, 4
fstp st(0)
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10062fe5
leave
ret