Function at 0x10005ed0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10046407
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1de0
call fcn.10045b90
mov eax, dword [0x10054040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1480], edx
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x143c], eax
mov eax, dword [0x100560bc]
mov dword [ebp - 0x1448], edi
mov dword [ebp - 0x14f0], eax
mov dword [ebp - 0x14dc], 0
mov dword [ebp - 0x14d8], 0
mov dword [ebp - 0x14d4], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x14b0], 0
mov dword [ebp - 0x14ac], 0
mov dword [ebp - 0x14a8], 0
mov dword [ebp - 0x1498], 0
mov dword [ebp - 0x1494], 0
mov dword [ebp - 0x1490], 0
mov dword [ebp - 0x14a4], 0
mov dword [ebp - 0x14a0], 0
mov dword [ebp - 0x149c], 0
push ecx
push edi
lea ecx, [ebp - 0x19bc]
mov byte [ebp - 4], 3
call fcn.100173a0
push ecx
push eax
push dword [ebp - 0x143c]
lea ecx, [ebp - 0x142c]
mov byte [ebp - 4], 4
call fcn.100172e0
lea ecx, [ebp - 0x19bc]
mov byte [ebp - 4], 6
call fcn.10002d90
mov ecx, dword [ebp - 0x14f0]
lea edx, [ebp - 0x142c]
push edi
push dword [ebp - 0x143c]
call fcn.100049d0
push ecx
push esi
lea ecx, [ebp - 0x1bf8]
call fcn.10016a00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1bf8]
mov eax, dword [ebp - 0x1bf8]
add ecx, dword [eax + 4]
call fcn.10003b60
test al, al
je 0x10006048
mov edx, str.Unable_to_open_file_points.txt
mov ecx, 0x10055650
call fcn.1001a060
xor esi, esi
jmp 0x10009fa3
lea ecx, [ebp - 0x2c]
call fcn.10017660
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1bf8]
call fcn.1001a310
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10003b50
test al, al
je 0x100062c6
push 0
lea ecx, [ebp - 0x2c]
call fcn.10017470
cmp byte [eax], 0x50
jne 0x1000615a
sub esp, 8
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x1ca0]
push eax
call fcn.10015670
lea ecx, [ebp - 0x44]
call fcn.10017660
push ecx
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1ca0]
call fcn.1001a3c0
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10003b60
test al, al
jne 0x1000629f
lea eax, [ebp - 0x1548]
push eax
lea ecx, [ebp - 0x1ca0]
call fcn.10016b80
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10003b60
test al, al
jne 0x1000629f
sub esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x44]
push eax
call fcn.10017420
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.10003cc0
add esp, 4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.10017510
mov ecx, dword [ebp - 0x1548]
lea eax, [esi - 1]
dec ecx
mov dword [ebp - 0x161c], eax
lea eax, [ebp - 0x161c]
mov dword [ebp - 0x1618], ecx
push eax
lea ecx, [ebp - 0x1498]
call fcn.10016ed0
lea ecx, [ebp - 0x44]
call fcn.10017510
lea ecx, [ebp - 0x1ca0]
jmp 0x10006272
push 0
lea ecx, [ebp - 0x2c]
call fcn.10017470
lea ecx, [ebp - 0x2c]
cmp byte [eax], 0x43
jne 0x100061e7
sub esp, 8
lea eax, [ebp - 0x74]
push eax
call fcn.10017420
sub esp, 8
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1d48]
push eax
call fcn.10015670
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xe
call fcn.10017510
lea eax, [ebp - 0x156c]
push eax
lea ecx, [ebp - 0x1d48]
call fcn.10016b80
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10003b60
test al, al
jne 0x100062af
mov eax, dword [ebp - 0x156c]
lea ecx, [ebp - 0x14dc]
dec eax
mov dword [ebp - 0x1508], eax
lea eax, [ebp - 0x1508]
push eax
call fcn.10016c20
lea ecx, [ebp - 0x1d48]
jmp 0x10006272
push 0
call fcn.10017470
cmp byte [eax], 0x52
jne 0x1000627b
sub esp, 8
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x2c]
push eax
call fcn.10017420
sub esp, 8
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1df0]
push eax
call fcn.10015670
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
call fcn.10017510
lea eax, [ebp - 0x150c]
push eax
lea ecx, [ebp - 0x1df0]
call fcn.10016b80
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10003b60
test al, al
jne 0x100062b7
mov eax, dword [ebp - 0x150c]
lea ecx, [ebp - 0x14b0]
dec eax
mov dword [ebp - 0x1510], eax
lea eax, [ebp - 0x1510]
push eax
call fcn.10016c20
lea ecx, [ebp - 0x1df0]
mov byte [ebp - 4], 8
call fcn.1000a240
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x1bf8]
call fcn.1001a310
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10003b50
test al, al
jne 0x10006076
jmp 0x100062c6
lea ecx, [ebp - 0x44]
call fcn.10017510
lea ecx, [ebp - 0x1ca0]
jmp 0x100062bd
lea ecx, [ebp - 0x1d48]
jmp 0x100062bd
lea ecx, [ebp - 0x1df0]
mov byte [ebp - 4], 8
call fcn.1000a240
lea ecx, [ebp - 0x1bf8]
call fcn.100169c0
lea eax, [ebp - 0x1498]
push eax
lea ecx, [ebp - 0x14a4]
call fcn.10016ea0
mov eax, dword [ebp - 0x14dc]
mov dword [ebp - 0x1464], eax
cmp eax, dword [ebp - 0x14d8]
je 0x10006340
xor ecx, ecx
test edi, edi
jle 0x1000632f
xor esi, esi
nop
mov eax, dword [eax]
mov dword [ebp - 0x1624], eax
lea eax, [ebp - 0x1624]
mov dword [ebp - 0x1620], ecx
lea ecx, [ebp - 0x14a4]
push eax
call fcn.10016ed0
mov eax, dword [ebp - 0x1464]
lea ecx, [esi + 1]
mov esi, ecx
cmp ecx, edi
jl 0x10006300
add eax, 4
mov dword [ebp - 0x1464], eax
cmp eax, dword [ebp - 0x14d8]
jne 0x100062f7
mov ecx, dword [ebp - 0x14b0]
mov esi, dword [ebp - 0x143c]
mov dword [ebp - 0x1464], ecx
cmp ecx, dword [ebp - 0x14ac]
je 0x100063b6
nop word [eax + eax]
xor eax, eax
test esi, esi
jle 0x1000639f
xor edi, edi
nop dword [eax + eax]
mov dword [ebp - 0x162c], eax
mov eax, dword [ecx]
lea ecx, [ebp - 0x14a4]
mov dword [ebp - 0x1628], eax
lea eax, [ebp - 0x162c]
push eax
call fcn.10016ed0
mov ecx, dword [ebp - 0x1464]
lea eax, [edi + 1]
mov edi, eax
cmp eax, esi
jl 0x10006370
add ecx, 4
mov dword [ebp - 0x1464], ecx
cmp ecx, dword [ebp - 0x14ac]
jne 0x10006360
mov edi, dword [ebp - 0x1448]
mov dword [ebp - 0x14e8], 0
mov dword [ebp - 0x14e4], 0
mov dword [ebp - 0x14e0], 0
push edi
push esi
lea edx, [ebp - 0x1498]
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x19c8]
call fcn.10003f50
add esp, 8
lea ecx, [ebp - 0x14e8]
push eax
call fcn.10016f70
lea ecx, [ebp - 0x19c8]
call fcn.10016f10
mov eax, edi
xor ecx, ecx
imul eax, esi
xorps xmm1, xmm1
mov dword [ebp - 0x1470], ecx
mov dword [ebp - 0x14b8], eax
mov dword [ebp - 0x1464], eax
test edi, edi
jle 0x100064e5
nop dword [eax]
mov dword [ebp - 0x1474], 0
test esi, esi
jle 0x100064d6
mov edi, dword [ebp - 0x1474]
nop dword [eax + eax]
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1470]
mov ecx, 0xc350
mov eax, dword [eax]
cmp word [eax + edx*2], cx
lea eax, [eax + edx*2]
ja 0x100064b8
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1470]
mov eax, dword [eax]
cmp word [eax + edx*2], 0
lea eax, [eax + edx*2]
jbe 0x100064b8
push edi
call fcn.10017180
mov edx, dword [ebp - 0x1470]
mov eax, dword [eax]
lea eax, [eax + edx*2]
movzx eax, word [eax]
movd xmm0, eax
mov eax, dword [ebp - 0x1464]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
jmp 0x100064c5
mov eax, dword [ebp - 0x1464]
dec eax
mov dword [ebp - 0x1464], eax
inc edi
cmp edi, esi
jl 0x10006450
mov edi, dword [ebp - 0x1448]
mov ecx, dword [ebp - 0x1470]
inc ecx
mov dword [ebp - 0x1470], ecx
cmp ecx, edi
jl 0x10006430
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov byte [ebp - 0x1474], 0
push dword [ebp - 0x1474]
divsd xmm1, xmm0
push dword [ebp - 0x1494]
movsd qword [ebp - 0x14f8], xmm1
push dword [ebp - 0x1498]
call fcn.1001a3d0
mov esi, dword [ebp - 0x14a0]
add esp, 0xc
mov byte [ebp - 0x1474], 0
push dword [ebp - 0x1474]
push esi
push dword [ebp - 0x14a4]
call fcn.1001a3d0
add esp, 0xc
lea ecx, [ebp - 0x1584]
push dword [ebp - 0x1494]
push dword [ebp - 0x1498]
call fcn.10019e70
push esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1434]
push dword [ebp - 0x14a4]
call fcn.10019e70
mov dword [ebp - 0x148c], 0
mov dword [ebp - 0x1488], 0
mov dword [ebp - 0x1484], 0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x1584]
mov eax, dword [ecx]
mov dword [ebp - 0x14ec], eax
cmp eax, ecx
je 0x1000807d
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov dword [ebp - 0x1420], edi
mov dword [ebp - 0x141c], esi
lea edx, [edi - 1]
test edi, edi
jle 0x100070b0
test esi, esi
jle 0x100073b7
lea eax, [edi + 1]
cmp eax, dword [ebp - 0x143c]
mov eax, dword [ebp - 0x1448]
jge 0x100073bd
lea ecx, [esi + 1]
cmp ecx, eax
jge 0x100073bd
lea eax, [esi - 1]
mov dword [ebp - 0x1634], edx
mov dword [ebp - 0x1630], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1634]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100066a7
lea eax, [edi + 1]
mov dword [ebp - 0x163c], eax
lea ecx, [ebp - 0x1434]
lea eax, [esi + 1]
mov dword [ebp - 0x1638], eax
lea eax, [ebp - 0x163c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100066a7
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov esi, eax
lea eax, [edi + 1]
push eax
call fcn.10017180
mov ecx, dword [esi]
mov esi, dword [ebp - 0x141c]
push edi
mov eax, dword [eax]
movzx ecx, word [ecx + esi*2 - 2]
movzx eax, word [eax + esi*2 + 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1640], ecx
mov dword [ebp - 0x1644], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1644]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi - 1]
mov dword [ebp - 0x164c], edi
mov dword [ebp - 0x1648], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x164c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x1000675f
lea eax, [esi + 1]
mov dword [ebp - 0x1654], edi
mov dword [ebp - 0x1650], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1654]
push eax
call fcn.10016cb0
test eax, eax
jne 0x1000675f
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
push edi
mov edx, dword [eax]
mov eax, dword [esi]
mov esi, dword [ebp - 0x141c]
movzx ecx, word [eax + esi*2 - 2]
movzx eax, word [edx + esi*2 + 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1658], ecx
mov dword [ebp - 0x165c], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x165c]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x1660], esi
mov dword [ebp - 0x1664], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1664]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006833
lea eax, [edi + 1]
mov dword [ebp - 0x1668], esi
mov dword [ebp - 0x166c], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x166c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006833
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi + 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
lea edi, [ecx + ecx]
mov ecx, dword [eax]
mov eax, dword [esi]
movzx ecx, word [ecx + edi]
movzx eax, word [eax + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1674], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1670], eax
lea eax, [ebp - 0x1674]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x167c], eax
lea ecx, [ebp - 0x1434]
lea eax, [esi - 1]
mov dword [ebp - 0x1678], eax
lea eax, [ebp - 0x167c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100068fd
lea eax, [edi - 1]
mov dword [ebp - 0x1684], eax
lea ecx, [ebp - 0x1434]
lea eax, [esi + 1]
mov dword [ebp - 0x1680], eax
lea eax, [ebp - 0x1684]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100068fd
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi - 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [esi]
mov esi, dword [ebp - 0x141c]
push edi
mov eax, dword [eax]
movzx ecx, word [eax + esi*2 + 2]
movzx eax, word [edx + esi*2 - 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1688], ecx
mov dword [ebp - 0x168c], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x168c]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x1690], esi
mov dword [ebp - 0x1694], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1694]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100069c5
lea eax, [esi - 1]
mov dword [ebp - 0x169c], edi
mov dword [ebp - 0x1698], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x169c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100069c5
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov edx, dword [esi]
push dword [ebp - 0x1420]
mov eax, dword [eax]
lea edi, [ecx + ecx]
movzx ecx, word [eax + ecx*2 - 2]
movzx eax, word [edx + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x16a4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x16a0], eax
lea eax, [ebp - 0x16a4]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x16a8], esi
mov dword [ebp - 0x16ac], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16ac]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006a8d
lea eax, [esi + 1]
mov dword [ebp - 0x16b4], edi
mov dword [ebp - 0x16b0], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16b4]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006a8d
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov edx, dword [esi]
push dword [ebp - 0x1420]
mov eax, dword [eax]
lea edi, [ecx + ecx]
movzx ecx, word [eax + ecx*2 + 2]
movzx eax, word [edx + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x16bc], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x16b8], eax
lea eax, [ebp - 0x16bc]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi - 1]
mov dword [ebp - 0x16c4], edi
mov dword [ebp - 0x16c0], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16c4]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006b5f
lea eax, [edi + 1]
mov dword [ebp - 0x16c8], esi
mov dword [ebp - 0x16cc], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16cc]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006b5f
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi + 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
mov edx, dword [eax]
mov eax, dword [esi]
lea edi, [ecx + ecx]
movzx ecx, word [eax + ecx*2 - 2]
movzx eax, word [edx + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x16d4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x16d0], eax
lea eax, [ebp - 0x16d4]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x16d8], esi
mov dword [ebp - 0x16dc], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16dc]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006c31
lea eax, [esi + 1]
mov dword [ebp - 0x16e4], edi
mov dword [ebp - 0x16e0], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16e4]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006c31
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
push dword [ebp - 0x1420]
mov edx, dword [eax]
mov eax, dword [ebp - 0x141c]
lea edi, [eax + eax]
mov eax, dword [esi]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x141c]
movzx eax, word [edx + eax*2 + 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x16ec], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x16e8], eax
lea eax, [ebp - 0x16ec]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x16f0], esi
mov dword [ebp - 0x16f4], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16f4]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006cf9
lea eax, [esi + 1]
mov dword [ebp - 0x16fc], edi
mov dword [ebp - 0x16f8], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x16fc]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006cf9
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov edx, dword [esi]
push dword [ebp - 0x1420]
mov eax, dword [eax]
lea edi, [ecx + ecx]
movzx ecx, word [eax + ecx*2 + 2]
movzx eax, word [edx + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1704], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1700], eax
lea eax, [ebp - 0x1704]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x170c], eax
lea ecx, [ebp - 0x1434]
lea eax, [esi - 1]
mov dword [ebp - 0x1708], eax
lea eax, [ebp - 0x170c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006d6c
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 - 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1710], ecx
mov dword [ebp - 0x1714], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1714]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi - 1]
mov dword [ebp - 0x171c], edi
mov dword [ebp - 0x1718], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x171c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006dd9
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 - 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1720], ecx
mov dword [ebp - 0x1724], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1724]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x172c], eax
lea ecx, [ebp - 0x1434]
lea eax, [esi - 1]
mov dword [ebp - 0x1728], eax
lea eax, [ebp - 0x172c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006e4c
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 - 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1730], ecx
mov dword [ebp - 0x1734], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1734]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x1738], esi
mov dword [ebp - 0x173c], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x173c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006ec9
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push dword [ebp - 0x1420]
lea edi, [esi + esi]
mov eax, dword [eax]
movzx esi, word [eax + edi]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1744], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1740], eax
lea eax, [ebp - 0x1744]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x1748], esi
mov dword [ebp - 0x174c], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x174c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006f46
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push dword [ebp - 0x1420]
lea edi, [esi + esi]
mov eax, dword [eax]
movzx esi, word [eax + edi]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1754], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1750], eax
lea eax, [ebp - 0x1754]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x175c], eax
lea ecx, [ebp - 0x1434]
lea eax, [esi + 1]
mov dword [ebp - 0x1758], eax
lea eax, [ebp - 0x175c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10006fb9
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 + 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1760], ecx
mov dword [ebp - 0x1764], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1764]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi + 1]
mov dword [ebp - 0x176c], edi
mov dword [ebp - 0x1768], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x176c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007026
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 + 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1770], ecx
mov dword [ebp - 0x1774], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1774]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x177c], eax
lea ecx, [ebp - 0x1434]
lea eax, [esi + 1]
mov dword [ebp - 0x1778], eax
lea eax, [ebp - 0x177c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007099
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 + 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1780], ecx
mov dword [ebp - 0x1784], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1784]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x178c], edi
lea eax, [ebp - 0x178c]
mov dword [ebp - 0x1788], esi
jmp 0x1000804e
jne 0x100073b7
mov eax, dword [ebp - 0x1448]
test esi, esi
jle 0x100073bd
lea ecx, [esi + 1]
mov dword [ebp - 0x1474], ecx
cmp ecx, eax
jge 0x100073bd
lea eax, [ebp - 0x1794]
mov dword [ebp - 0x1790], ecx
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x1794], edi
call fcn.10016cb0
test eax, eax
jne 0x1000718f
lea eax, [esi - 1]
mov dword [ebp - 0x179c], edi
mov dword [ebp - 0x1798], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x179c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x1000718f
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x1474]
push edi
mov edx, dword [eax]
mov eax, dword [esi]
movzx ecx, word [eax + ecx*2]
mov eax, dword [ebp - 0x141c]
movzx eax, word [edx + eax*2 - 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x17a0], ecx
mov dword [ebp - 0x17a4], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x17a4]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x17a8], esi
mov dword [ebp - 0x17ac], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x17ac]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007261
lea eax, [esi - 1]
mov dword [ebp - 0x17b4], edi
mov dword [ebp - 0x17b0], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x17b4]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007261
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
push dword [ebp - 0x1420]
mov edx, dword [eax]
mov eax, dword [ebp - 0x141c]
lea edi, [eax + eax]
mov eax, dword [esi]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x141c]
movzx eax, word [edx + eax*2 - 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x17bc], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x17b8], eax
lea eax, [ebp - 0x17bc]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi + 1]
mov dword [ebp - 0x17c0], esi
mov dword [ebp - 0x17c4], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x17c4]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007333
lea ecx, [esi + 1]
mov dword [ebp - 0x17cc], edi
lea eax, [ebp - 0x17cc]
mov dword [ebp - 0x17c8], ecx
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016cb0
test eax, eax
jne 0x10007333
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
push dword [ebp - 0x1420]
mov edx, dword [eax]
mov eax, dword [ebp - 0x141c]
lea edi, [eax + eax]
mov eax, dword [esi]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x141c]
movzx eax, word [edx + eax*2 + 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x17d4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x17d0], eax
lea eax, [ebp - 0x17d4]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi - 1]
mov dword [ebp - 0x17dc], edi
mov dword [ebp - 0x17d8], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x17dc]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100073a0
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 - 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x17e0], ecx
mov dword [ebp - 0x17e4], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x17e4]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x17ec], edi
lea eax, [ebp - 0x17ec]
mov dword [ebp - 0x17e8], esi
jmp 0x1000804e
mov eax, dword [ebp - 0x1448]
mov ecx, dword [ebp - 0x143c]
dec ecx
mov dword [ebp - 0x1468], ecx
cmp edi, ecx
jne 0x100076c6
lea ecx, [esi - 1]
test ecx, ecx
js 0x100076c6
lea ecx, [esi + 1]
mov dword [ebp - 0x1474], ecx
cmp ecx, eax
jge 0x100076c6
lea eax, [ebp - 0x17f4]
mov dword [ebp - 0x17f0], ecx
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x17f4], edi
call fcn.10016cb0
test eax, eax
jne 0x100074a8
lea eax, [esi - 1]
mov dword [ebp - 0x17fc], edi
mov dword [ebp - 0x17f8], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x17fc]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100074a8
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x1474]
push edi
mov edx, dword [eax]
mov eax, dword [esi]
movzx ecx, word [eax + ecx*2]
mov eax, dword [ebp - 0x141c]
movzx eax, word [edx + eax*2 - 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1800], ecx
mov dword [ebp - 0x1804], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1804]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x1808], esi
mov dword [ebp - 0x180c], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x180c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007570
lea eax, [esi - 1]
mov dword [ebp - 0x1814], edi
mov dword [ebp - 0x1810], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1814]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007570
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov edx, dword [esi]
push dword [ebp - 0x1420]
mov eax, dword [eax]
lea edi, [ecx + ecx]
movzx ecx, word [eax + ecx*2 - 2]
movzx eax, word [edx + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x181c], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1818], eax
lea eax, [ebp - 0x181c]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x1820], esi
mov dword [ebp - 0x1824], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1824]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007642
lea ecx, [esi + 1]
mov dword [ebp - 0x182c], edi
lea eax, [ebp - 0x182c]
mov dword [ebp - 0x1828], ecx
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016cb0
test eax, eax
jne 0x10007642
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
push dword [ebp - 0x1420]
mov edx, dword [eax]
mov eax, dword [ebp - 0x141c]
lea edi, [eax + eax]
mov eax, dword [esi]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x141c]
movzx eax, word [edx + eax*2 - 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1834], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1830], eax
lea eax, [ebp - 0x1834]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi - 1]
mov dword [ebp - 0x183c], edi
mov dword [ebp - 0x1838], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x183c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100076af
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax + esi*2 - 2]
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x1840], ecx
mov dword [ebp - 0x1844], edi
mov eax, dword [eax]
mov word [eax + ecx*2], si
lea eax, [ebp - 0x1844]
push eax
lea ecx, [ebp - 0x1434]
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x184c], edi
lea eax, [ebp - 0x184c]
mov dword [ebp - 0x1848], esi
jmp 0x1000804e
dec eax
mov dword [ebp - 0x1438], eax
cmp esi, eax
mov eax, dword [ebp - 0x143c]
jne 0x100079e0
test edx, edx
js 0x100079e0
lea ecx, [edi + 1]
cmp ecx, eax
jge 0x100079e0
lea eax, [ebp - 0x1854]
mov dword [ebp - 0x1854], edx
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x1850], esi
call fcn.10016cb0
test eax, eax
jne 0x100077b5
lea eax, [edi + 1]
mov dword [ebp - 0x1858], esi
mov dword [ebp - 0x185c], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x185c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100077b5
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov esi, eax
lea eax, [edi + 1]
push eax
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov edx, dword [esi]
push dword [ebp - 0x1420]
mov eax, dword [eax]
lea edi, [ecx + ecx]
movzx ecx, word [eax + edi]
movzx eax, word [edx + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1864], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1860], eax
lea eax, [ebp - 0x1864]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi - 1]
mov dword [ebp - 0x186c], edi
mov dword [ebp - 0x1868], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x186c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x1000787a
lea eax, [edi - 1]
mov dword [ebp - 0x1870], esi
mov dword [ebp - 0x1874], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1874]
push eax
call fcn.10016cb0
test eax, eax
jne 0x1000787a
lea esi, [edi - 1]
push esi
lea ecx, [ebp - 0x142c]
call fcn.10017180
push esi
mov edi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x141c]
mov eax, dword [eax]
lea edx, [ecx + ecx]
mov ecx, dword [edi]
mov edi, dword [ebp - 0x1420]
push edi
movzx eax, word [eax + edx]
movzx ecx, word [ecx + edx]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x141c]
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x187c], edi
mov dword [ebp - 0x1878], edx
mov eax, dword [eax]
mov word [eax + edx*2], si
lea eax, [eax + edx*2]
lea eax, [ebp - 0x187c]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [esi - 1]
mov dword [ebp - 0x1884], edi
mov dword [ebp - 0x1880], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x1884]
push eax
call fcn.10016cb0
test eax, eax
jne 0x1000794c
lea eax, [edi + 1]
mov dword [ebp - 0x1888], esi
mov dword [ebp - 0x188c], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x188c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x1000794c
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi + 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x141c]
mov ecx, dword [esi]
push dword [ebp - 0x1420]
mov eax, dword [eax]
lea edi, [edx + edx]
movzx ecx, word [ecx + edx*2 - 2]
movzx eax, word [eax + edi]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1894], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1890], eax
lea eax, [ebp - 0x1894]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [edi - 1]
mov dword [ebp - 0x1898], esi
mov dword [ebp - 0x189c], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x189c]
push eax
call fcn.10016cb0
test eax, eax
jne 0x100079c9
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push dword [ebp - 0x1420]
lea edi, [esi + esi]
mov eax, dword [eax]
movzx esi, word [eax + edi]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x18a4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x18a0], eax
lea eax, [ebp - 0x18a4]
push eax
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x18ac], edi
lea eax, [ebp - 0x18ac]
mov dword [ebp - 0x18a8], esi
jmp 0x1000804e
test esi, esi
jne 0x10007ca3
test edx, edx
js 0x10007ca3
lea ecx, [edi + 1]
cmp ecx, eax
jge 0x10007ca3
lea eax, [ebp - 0x18b4]
mov dword [ebp - 0x18b4], ecx
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x18b0], esi
call fcn.10016cb0
lea esi, [edi - 1]
test eax, eax
jne 0x10007aaf
mov dword [ebp - 0x18b8], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x18bc]
mov dword [ebp - 0x18bc], esi
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007aaf
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi - 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov ecx, dword [eax]
mov eax, dword [esi]
movzx edx, word [eax]
movzx eax, word [ecx]
lea ecx, [ebp - 0x142c]
add edx, eax
shr edx, 1
movzx esi, dx
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x18c4], edi
mov dword [ebp - 0x18c0], 0
mov eax, dword [eax]
mov word [eax], si
lea eax, [ebp - 0x18c4]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [ebp - 0x18cc]
mov dword [ebp - 0x18cc], edi
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x18c8], 1
call fcn.10016cb0
test eax, eax
jne 0x10007b62
mov dword [ebp - 0x18d0], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x18d4]
mov dword [ebp - 0x18d4], esi
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007b62
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi - 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov edx, dword [eax]
mov eax, dword [esi]
movzx ecx, word [eax + 2]
movzx eax, word [edx]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x18dc], edi
mov dword [ebp - 0x18d8], 0
mov eax, dword [eax]
mov word [eax], si
lea eax, [ebp - 0x18dc]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [ebp - 0x18e4]
mov dword [ebp - 0x18e4], edi
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x18e0], 1
call fcn.10016cb0
test eax, eax
jne 0x10007c1c
lea eax, [edi + 1]
mov dword [ebp - 0x18e8], 0
mov dword [ebp - 0x18ec], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x18ec]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007c1c
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi + 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [esi]
push edi
mov eax, dword [eax]
movzx ecx, word [eax]
movzx eax, word [edx + 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x18f4], edi
mov dword [ebp - 0x18f0], 0
mov eax, dword [eax]
mov word [eax], si
lea eax, [ebp - 0x18f4]
push eax
call fcn.10016d00
jmp 0x1000805a
lea eax, [ebp - 0x18fc]
mov dword [ebp - 0x18fc], esi
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x18f8], 0
call fcn.10016cb0
test eax, eax
jne 0x10007c88
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov eax, dword [eax]
movzx esi, word [eax]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x1904], edi
mov dword [ebp - 0x1900], 0
mov eax, dword [eax]
mov word [eax], si
lea eax, [ebp - 0x1904]
push eax
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x190c], edi
lea eax, [ebp - 0x190c]
mov dword [ebp - 0x1908], 0
jmp 0x1000804e
test edi, edi
jne 0x10007e72
test esi, esi
jne 0x10007d7d
lea eax, [ebp - 0x1914]
mov dword [ebp - 0x1914], esi
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x1910], 1
call fcn.10016cb0
test eax, eax
jne 0x10007d5e
mov dword [ebp - 0x1918], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x191c]
mov dword [ebp - 0x191c], 1
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007d5e
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push 1
mov esi, eax
call fcn.10017180
mov edx, dword [esi]
push edi
mov eax, dword [eax]
movzx ecx, word [eax]
movzx eax, word [edx + 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x15a4], edi
mov dword [ebp - 0x15a0], edi
mov eax, dword [eax]
mov word [eax], si
lea eax, [ebp - 0x15a4]
push eax
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x15ac], 0
lea eax, [ebp - 0x15ac]
mov dword [ebp - 0x15a8], 0
jmp 0x1000804e
mov eax, dword [ebp - 0x1438]
cmp esi, eax
jne 0x10007e78
lea eax, [ebp - 0x15b4]
mov dword [ebp - 0x15b4], 1
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x15b0], esi
call fcn.10016cb0
test eax, eax
jne 0x10007e57
lea eax, [esi - 1]
mov dword [ebp - 0x15bc], 0
mov dword [ebp - 0x15b8], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x15bc]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10007e57
push 1
lea ecx, [ebp - 0x142c]
call fcn.10017180
push 0
mov esi, eax
call fcn.10017180
push 0
mov edx, dword [eax]
mov eax, dword [ebp - 0x141c]
lea edi, [eax + eax]
mov eax, dword [esi]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x141c]
movzx eax, word [edx + eax*2 - 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x15c4], 0
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x15c0], eax
lea eax, [ebp - 0x15c4]
push eax
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x1614], 0
lea eax, [ebp - 0x1614]
mov dword [ebp - 0x1610], esi
jmp 0x1000804e
mov eax, dword [ebp - 0x1438]
cmp edi, dword [ebp - 0x1468]
jne 0x1000803c
test esi, esi
jne 0x10007f54
lea eax, [ebp - 0x15cc]
mov dword [ebp - 0x15cc], edx
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x15c8], esi
call fcn.10016cb0
test eax, eax
jne 0x10007f39
lea eax, [ebp - 0x15d4]
mov dword [ebp - 0x15d4], edi
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x15d0], 1
call fcn.10016cb0
test eax, eax
jne 0x10007f39
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push edi
mov esi, eax
call fcn.10017180
push edi
mov edx, dword [eax]
mov eax, dword [esi]
movzx ecx, word [eax]
movzx eax, word [edx + 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x15dc], edi
mov dword [ebp - 0x15d8], 0
mov eax, dword [eax]
mov word [eax], si
lea eax, [ebp - 0x15dc]
push eax
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x15e4], edi
lea eax, [ebp - 0x15e4]
mov dword [ebp - 0x15e0], 0
jmp 0x1000804e
cmp esi, eax
jne 0x1000803c
lea eax, [ebp - 0x15ec]
mov dword [ebp - 0x15ec], edx
push eax
lea ecx, [ebp - 0x1434]
mov dword [ebp - 0x15e8], esi
call fcn.10016cb0
test eax, eax
jne 0x10008028
lea eax, [esi - 1]
mov dword [ebp - 0x15f4], edi
mov dword [ebp - 0x15f0], eax
lea ecx, [ebp - 0x1434]
lea eax, [ebp - 0x15f4]
push eax
call fcn.10016cb0
test eax, eax
jne 0x10008028
push edi
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [edi - 1]
mov esi, eax
push ecx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [esi]
mov esi, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
mov eax, dword [eax]
lea edi, [esi + esi]
movzx ecx, word [eax + edi]
movzx eax, word [edx + esi*2 - 2]
add ecx, eax
shr ecx, 1
movzx esi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
lea ecx, [ebp - 0x1434]
mov eax, dword [eax]
mov word [eax + edi], si
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x15fc], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x15f8], eax
lea eax, [ebp - 0x15fc]
push eax
call fcn.10016d00
jmp 0x1000805a
mov dword [ebp - 0x1604], edi
lea eax, [ebp - 0x1604]
mov dword [ebp - 0x1600], esi
jmp 0x1000804e
mov dword [ebp - 0x160c], edi
lea eax, [ebp - 0x160c]
mov dword [ebp - 0x1608], esi
push eax
lea ecx, [ebp - 0x148c]
call fcn.10016ed0
lea ecx, [ebp - 0x14ec]
call fcn.10014f30
mov eax, dword [ebp - 0x14ec]
cmp eax, dword [ebp - 0x1584]
jne 0x100065a1
mov edi, dword [ebp - 0x1448]
push dword [ebp - 0x14d8]
lea ecx, [ebp - 0x145c]
push dword [ebp - 0x14dc]
call fcn.1001a3f0
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x145c]
mov esi, dword [eax]
mov dword [ebp - 0x1444], esi
mov dword [ebp - 0x1420], esi
cmp esi, eax
je 0x10008d35
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x146c], ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x144c], eax
lea eax, [ecx + 2]
mov dword [ebp - 0x1460], eax
lea eax, [ecx + 3]
mov dword [ebp - 0x1470], eax
test ecx, ecx
jle 0x10008997
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x19ec]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x10008328
mov ecx, dword [ebp - 0x144c]
cmp ecx, dword [eax + 0x10]
jl 0x10008328
lea eax, [ebp - 0x1460]
push eax
lea eax, [ebp - 0x1aac]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008328
mov eax, dword [ebp - 0x1460]
cmp eax, dword [ecx + 0x10]
jl 0x10008328
lea eax, [ebp - 0x1470]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ea0
test eax, eax
jne 0x10008328
mov eax, dword [ebp - 0x143c]
dec eax
cmp dword [ebp - 0x1460], eax
je 0x10008328
mov dword [ebp - 0x1440], 0
test edi, edi
jle 0x100082bd
mov eax, dword [ebp - 0x146c]
mov esi, dword [ebp - 0x144c]
dec eax
mov dword [ebp - 0x1438], eax
nop dword [eax]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push dword [ebp - 0x1470]
mov edi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x1440]
push dword [ebp - 0x146c]
add ecx, ecx
mov edx, dword [eax]
mov eax, dword [edi]
add edx, ecx
movzx ecx, word [eax + ecx]
movzx eax, word [edx]
add ecx, eax
shr ecx, 1
movzx edi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
push dword [ebp - 0x1438]
mov eax, dword [eax]
mov word [eax + edx*2], di
lea eax, [eax + edx*2]
call fcn.10017180
push dword [ebp - 0x1470]
mov edi, eax
call fcn.10017180
push esi
mov edx, dword [eax]
mov eax, dword [ebp - 0x1440]
lea ecx, [eax + eax]
lea edx, [edx + eax*2]
mov eax, dword [edi]
movzx ecx, word [eax + ecx]
movzx eax, word [edx]
add ecx, eax
shr ecx, 1
movzx edi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
push dword [ebp - 0x1438]
mov eax, dword [eax]
mov word [eax + edx*2], di
lea eax, [eax + edx*2]
call fcn.10017180
push dword [ebp - 0x1470]
mov edi, eax
call fcn.10017180
mov edx, dword [edi]
mov edi, dword [ebp - 0x1440]
push dword [ebp - 0x1460]
mov eax, dword [eax]
lea edx, [edx + edi*2]
lea ecx, [edi + edi]
movzx ecx, word [eax + ecx]
movzx eax, word [edx]
add ecx, eax
shr ecx, 1
movzx edi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
mov eax, dword [eax]
mov word [eax + edx*2], di
mov edi, dword [ebp - 0x1448]
lea eax, [eax + edx*2]
inc edx
mov eax, dword [ebp - 0x1438]
mov dword [ebp - 0x1440], edx
cmp edx, edi
jl 0x100081a0
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x1920]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x1924]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x1928]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
jmp 0x10008d1d
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x1b00]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000850d
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jl 0x1000850d
lea eax, [ebp - 0x1460]
push eax
lea eax, [ebp - 0x1b18]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000850d
mov eax, dword [ebp - 0x1460]
cmp eax, dword [ecx + 0x10]
jl 0x1000850d
lea eax, [ebp - 0x1470]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ea0
test eax, eax
jne 0x1000850d
mov eax, dword [ebp - 0x143c]
dec eax
cmp dword [ebp - 0x1460], eax
jne 0x1000850d
mov dword [ebp - 0x1440], 0
test edi, edi
jle 0x100084a2
mov eax, dword [ebp - 0x146c]
mov esi, dword [ebp - 0x144c]
dec eax
mov dword [ebp - 0x1438], eax
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov ecx, dword [ebp - 0x1440]
push dword [ebp - 0x146c]
add ecx, ecx
mov eax, dword [eax]
movzx edi, word [eax + ecx]
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
push dword [ebp - 0x1438]
mov eax, dword [eax]
mov word [eax + edx*2], di
lea eax, [eax + edx*2]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
push esi
mov eax, dword [eax]
movzx edi, word [eax + edx*2]
lea eax, [eax + edx*2]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
push dword [ebp - 0x1438]
mov eax, dword [eax]
mov word [eax + edx*2], di
lea eax, [eax + edx*2]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
push dword [ebp - 0x1460]
mov eax, dword [eax]
movzx edi, word [eax + edx*2]
lea eax, [eax + edx*2]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
mov eax, dword [eax]
mov word [eax + edx*2], di
mov edi, dword [ebp - 0x1448]
lea eax, [eax + edx*2]
inc edx
mov eax, dword [ebp - 0x1438]
mov dword [ebp - 0x1440], edx
cmp edx, edi
jl 0x100083e4
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x192c]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x1930]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x1934]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
jmp 0x10008d1d
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x1b24]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100086be
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jl 0x100086be
lea eax, [ebp - 0x1460]
push eax
lea eax, [ebp - 0x1b30]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008573
mov eax, dword [ebp - 0x1460]
cmp eax, dword [ecx + 0x10]
jge 0x100086be
mov eax, dword [ebp - 0x143c]
dec eax
cmp dword [ebp - 0x144c], eax
je 0x100086be
mov dword [ebp - 0x1440], 0
test edi, edi
jle 0x10008677
mov eax, dword [ebp - 0x146c]
mov esi, dword [ebp - 0x144c]
dec eax
mov dword [ebp - 0x1438], eax
nop dword [eax + eax]
push eax
lea ecx, [ebp - 0x142c]
call fcn.10017180
push dword [ebp - 0x1460]
mov edi, eax
call fcn.10017180
mov ecx, dword [ebp - 0x1440]
push dword [ebp - 0x146c]
add ecx, ecx
mov edx, dword [eax]
mov eax, dword [edi]
add edx, ecx
movzx ecx, word [eax + ecx]
movzx eax, word [edx]
add ecx, eax
shr ecx, 1
movzx edi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
push dword [ebp - 0x1438]
mov eax, dword [eax]
mov word [eax + edx*2], di
lea eax, [eax + edx*2]
call fcn.10017180
push dword [ebp - 0x1460]
mov edi, eax
call fcn.10017180
mov edx, dword [edi]
mov edi, dword [ebp - 0x1440]
lea edx, [edx + edi*2]
mov eax, dword [eax]
push esi
lea ecx, [edi + edi]
movzx ecx, word [eax + ecx]
movzx eax, word [edx]
add ecx, eax
shr ecx, 1
movzx edi, cx
lea ecx, [ebp - 0x142c]
call fcn.10017180
mov edx, dword [ebp - 0x1440]
mov eax, dword [eax]
mov word [eax + edx*2], di
mov edi, dword [ebp - 0x1448]
lea eax, [eax + edx*2]
inc edx
mov eax, dword [ebp - 0x1438]
mov dword [ebp - 0x1440], edx
cmp edx, edi
jl 0x100085b0
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x1938]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
push esi
lea eax, [ebp - 0x193c]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ef0
jmp 0x10008d1d
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x19d4]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000880b
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jl 0x1000880b
lea eax, [ebp - 0x1460]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ea0
test eax, eax
jne 0x1000880b
mov eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x144c]
dec eax
cmp ecx, eax
jne 0x1000880b
mov dword [ebp - 0x1468], 0
test edi, edi
jle 0x100087b6
mov eax, dword [ebp - 0x146c]
lea ecx, [ecx + ecx*2]
mov esi, dword [ebp - 0x1468]
lea eax, [eax + eax*2]
shl eax, 2
shl ecx, 2
mov dword [ebp - 0x1438], eax
mov dword [ebp - 0x1440], ecx
nop dword [eax + eax]
mov edx, dword [ebp - 0x142c]
lea edi, [esi + esi]
inc esi
mov eax, dword [edx + eax - 0xc]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x1438]
mov eax, dword [edx + eax]
mov word [eax + edi], cx
mov edx, dword [ebp - 0x142c]
mov eax, dword [ebp - 0x1438]
mov eax, dword [edx + eax - 0xc]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x1440]
mov eax, dword [edx + eax]
mov word [eax + edi], cx
mov edi, dword [ebp - 0x1448]
mov eax, dword [ebp - 0x1438]
cmp esi, edi
jl 0x10008760
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
lea ecx, [ebp - 0x1598]
mov dword [ebp - 0x1598], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x145c]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1594], esi
lea ecx, [ebp - 0x1594]
jmp 0x10008cf4
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x19e0]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000883c
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jge 0x100088dc
mov eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x146c]
dec eax
cmp ecx, eax
je 0x100088dc
xor eax, eax
mov dword [ebp - 0x1444], eax
test edi, edi
jle 0x100088c0
lea ecx, [ecx + ecx*2]
shl ecx, 2
mov dword [ebp - 0x1438], ecx
nop dword [eax]
mov esi, dword [ebp - 0x142c]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x1438]
mov ecx, dword [esi + ecx + 0xc]
mov eax, dword [esi + eax - 0xc]
movzx ecx, word [ecx + edx]
movzx eax, word [eax + edx]
add ecx, eax
mov eax, dword [ebp - 0x1438]
shr ecx, 1
movzx ecx, cx
mov eax, dword [esi + eax]
mov word [eax + edx], cx
mov eax, dword [ebp - 0x1444]
mov ecx, dword [ebp - 0x1438]
inc eax
mov dword [ebp - 0x1444], eax
cmp eax, edi
jl 0x10008870
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
mov dword [ebp - 0x1590], esi
lea ecx, [ebp - 0x1590]
jmp 0x10008cf4
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x1b3c]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000890d
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jge 0x10008d12
mov eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x146c]
dec eax
cmp ecx, eax
jne 0x10008d12
xor eax, eax
mov dword [ebp - 0x1438], eax
test edi, edi
jle 0x1000897b
lea ecx, [ecx + ecx*2]
shl ecx, 2
mov dword [ebp - 0x1444], ecx
nop word [eax + eax]
mov esi, dword [ebp - 0x142c]
lea edx, [eax + eax]
mov eax, dword [esi + ecx - 0xc]
movzx ecx, word [eax + edx]
mov eax, dword [ebp - 0x1444]
mov eax, dword [esi + eax]
mov word [eax + edx], cx
mov eax, dword [ebp - 0x1438]
mov ecx, dword [ebp - 0x1444]
inc eax
mov dword [ebp - 0x1438], eax
cmp eax, edi
jl 0x10008940
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
mov dword [ebp - 0x158c], esi
lea ecx, [ebp - 0x158c]
jmp 0x10008cf4
jne 0x10008d12
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x19f8]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008b49
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jl 0x10008b49
lea eax, [ebp - 0x1460]
push eax
lea eax, [ebp - 0x1a04]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008b49
mov eax, dword [ebp - 0x1460]
cmp eax, dword [ecx + 0x10]
jl 0x10008b49
lea eax, [ebp - 0x1470]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ea0
test eax, eax
jne 0x10008b49
mov dword [ebp - 0x1468], eax
test edi, edi
jle 0x10008abb
mov eax, dword [ebp - 0x144c]
mov esi, dword [ebp - 0x1468]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0x1438], eax
mov eax, dword [ebp - 0x1460]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0x1440], eax
nop dword [eax]
mov edx, dword [ebp - 0x142c]
lea edi, [esi + esi]
inc esi
mov eax, dword [edx + 0x24]
movzx ecx, word [eax + edi]
mov eax, dword [edx]
mov word [eax + edi], cx
mov edx, dword [ebp - 0x142c]
mov eax, dword [edx + 0x24]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x1438]
mov eax, dword [edx + eax]
mov word [eax + edi], cx
mov edx, dword [ebp - 0x142c]
mov eax, dword [edx + 0x24]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x1440]
mov eax, dword [edx + eax]
mov word [eax + edi], cx
mov edi, dword [ebp - 0x1448]
cmp esi, edi
jl 0x10008a60
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
lea ecx, [ebp - 0x159c]
mov dword [ebp - 0x159c], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x145c]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
add esp, 8
call fcn.10014f30
lea ecx, [ebp - 0x1574]
mov dword [ebp - 0x1574], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x145c]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1588], esi
lea ecx, [ebp - 0x1588]
jmp 0x10008cf4
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x1a10]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008c72
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jl 0x10008c72
lea eax, [ebp - 0x1460]
push eax
lea ecx, [ebp - 0x145c]
call fcn.10014ea0
test eax, eax
jne 0x10008c72
mov dword [ebp - 0x1468], eax
test edi, edi
jle 0x10008c1d
mov eax, dword [ebp - 0x1460]
mov esi, dword [ebp - 0x1468]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x144c]
shl ecx, 2
mov dword [ebp - 0x1438], ecx
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0x1440], eax
nop dword [eax]
mov edx, dword [ebp - 0x142c]
lea edi, [esi + esi]
inc esi
mov eax, dword [edx + ecx]
movzx ecx, word [eax + edi]
mov eax, dword [edx]
mov word [eax + edi], cx
mov edx, dword [ebp - 0x142c]
mov eax, dword [ebp - 0x1438]
mov eax, dword [edx + eax]
movzx ecx, word [eax + edi]
mov eax, dword [ebp - 0x1440]
mov eax, dword [edx + eax]
mov word [eax + edi], cx
mov edi, dword [ebp - 0x1448]
mov ecx, dword [ebp - 0x1438]
cmp esi, edi
jl 0x10008bd0
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
lea ecx, [ebp - 0x1568]
mov dword [ebp - 0x1568], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x145c]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1564], esi
lea ecx, [ebp - 0x1564]
jmp 0x10008cf4
lea eax, [ebp - 0x144c]
push eax
lea eax, [ebp - 0x1a1c]
push eax
lea ecx, [ebp - 0x145c]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008c9f
mov eax, dword [ebp - 0x144c]
cmp eax, dword [ecx + 0x10]
jge 0x10008d12
xor eax, eax
mov dword [ebp - 0x1438], eax
test edi, edi
jle 0x10008cdd
nop dword [eax + eax]
mov esi, dword [ebp - 0x142c]
lea edx, [eax + eax]
mov eax, dword [esi + 0xc]
movzx ecx, word [eax + edx]
mov eax, dword [esi]
mov word [eax + edx], cx
mov eax, dword [ebp - 0x1438]
inc eax
mov dword [ebp - 0x1438], eax
cmp eax, edi
jl 0x10008cb0
mov esi, dword [ebp - 0x1420]
lea ecx, [ebp - 0x1420]
call fcn.10014f30
mov dword [ebp - 0x1560], esi
lea ecx, [ebp - 0x1560]
call fcn.10014f30
push esi
lea ecx, [ebp - 0x145c]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
add esp, 8
jmp 0x10008d1d
lea ecx, [ebp - 0x1420]
call fcn.10014f30
mov esi, dword [ebp - 0x1420]
mov dword [ebp - 0x1444], esi
cmp esi, dword [ebp - 0x145c]
jne 0x100080b4
push dword [ebp - 0x14ac]
lea ecx, [ebp - 0x1454]
push dword [ebp - 0x14b0]
call fcn.1001a3f0
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x1454]
mov esi, dword [eax]
mov dword [ebp - 0x141c], esi
cmp esi, eax
je 0x10009761
nop word [eax + eax]
mov edi, dword [esi + 0x10]
lea eax, [edi + 1]
mov dword [ebp - 0x1478], eax
lea eax, [edi + 2]
mov dword [ebp - 0x147c], eax
lea eax, [edi + 3]
mov dword [ebp - 0x1464], eax
test edi, edi
jle 0x1000943d
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1a28]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x10008f4f
lea ecx, [edi + 1]
cmp ecx, dword [eax + 0x10]
jl 0x10008f4f
lea eax, [ebp - 0x147c]
push eax
lea eax, [ebp - 0x1a34]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008f4f
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jl 0x10008f4f
lea eax, [ebp - 0x1464]
push eax
lea eax, [ebp - 0x1a40]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008e28
lea eax, [edi + 3]
cmp eax, dword [ecx + 0x10]
jge 0x10008f4f
mov eax, dword [ebp - 0x1448]
lea ecx, [edi + 2]
dec eax
cmp ecx, eax
je 0x10008f4f
mov eax, dword [ebp - 0x143c]
test eax, eax
jle 0x10008ec1
xor esi, esi
mov dword [ebp - 0x1438], eax
mov eax, dword [ebp - 0x142c]
lea esi, [esi + 0xc]
mov edx, dword [esi + eax - 0xc]
movzx eax, word [edx + edi*2 - 2]
movzx ecx, word [edx + edi*2 + 6]
add ecx, eax
shr ecx, 1
movzx eax, cx
mov word [edx + edi*2], ax
mov eax, dword [ebp - 0x142c]
mov edx, dword [esi + eax - 0xc]
movzx eax, word [edx + edi*2 + 6]
movzx ecx, word [edx + edi*2 - 2]
add ecx, eax
shr ecx, 1
movzx eax, cx
mov word [edx + edi*2 + 2], ax
mov eax, dword [ebp - 0x142c]
mov edx, dword [esi + eax - 0xc]
movzx eax, word [edx + edi*2 - 2]
movzx ecx, word [edx + edi*2 + 6]
add ecx, eax
shr ecx, 1
sub dword [ebp - 0x1438], 1
movzx eax, cx
mov word [edx + edi*2 + 4], ax
jne 0x10008e50
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
lea ecx, [ebp - 0x155c]
mov dword [ebp - 0x155c], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
lea ecx, [ebp - 0x1558]
mov dword [ebp - 0x1558], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1554], esi
lea ecx, [ebp - 0x1554]
jmp 0x10009726
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1a4c]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100090d8
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jl 0x100090d8
lea eax, [ebp - 0x147c]
push eax
lea eax, [ebp - 0x1a58]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100090d8
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jl 0x100090d8
lea eax, [ebp - 0x1464]
push eax
lea eax, [ebp - 0x1a64]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008fe1
lea eax, [edi + 3]
cmp eax, dword [ecx + 0x10]
jge 0x100090d8
mov eax, dword [ebp - 0x1448]
lea ecx, [edi + 2]
dec eax
cmp ecx, eax
jne 0x100090d8
mov eax, dword [ebp - 0x143c]
test eax, eax
jle 0x1000904a
xor edx, edx
mov esi, eax
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2 + 2], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2 + 4], ax
sub esi, 1
jne 0x10009001
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
lea ecx, [ebp - 0x154c]
mov dword [ebp - 0x154c], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
lea ecx, [ebp - 0x1570]
mov dword [ebp - 0x1570], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1538], esi
lea ecx, [ebp - 0x1538]
jmp 0x10009726
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1a70]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10009206
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jl 0x10009206
lea eax, [ebp - 0x147c]
push eax
lea eax, [ebp - 0x1a7c]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10009138
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jge 0x10009206
mov eax, dword [ebp - 0x1448]
lea ecx, [edi + 1]
dec eax
cmp ecx, eax
je 0x10009206
mov eax, dword [ebp - 0x143c]
test eax, eax
jle 0x100091b1
xor esi, esi
mov dword [ebp - 0x1438], eax
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea esi, [esi + 0xc]
mov edx, dword [esi + eax - 0xc]
movzx eax, word [edx + edi*2 + 4]
movzx ecx, word [edx + edi*2 - 2]
add ecx, eax
shr ecx, 1
movzx eax, cx
mov word [edx + edi*2], ax
mov eax, dword [ebp - 0x142c]
mov edx, dword [esi + eax - 0xc]
movzx eax, word [edx + edi*2 + 4]
movzx ecx, word [edx + edi*2 - 2]
add ecx, eax
shr ecx, 1
sub dword [ebp - 0x1438], 1
movzx eax, cx
mov word [edx + edi*2 + 2], ax
jne 0x10009160
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
lea ecx, [ebp - 0x1540]
mov dword [ebp - 0x1540], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1550], esi
lea ecx, [ebp - 0x1550]
jmp 0x10009726
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1a88]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000931a
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jl 0x1000931a
lea eax, [ebp - 0x147c]
push eax
lea eax, [ebp - 0x1a94]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10009266
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jge 0x1000931a
mov eax, dword [ebp - 0x1448]
lea ecx, [edi + 1]
dec eax
cmp ecx, eax
jne 0x1000931a
mov eax, dword [ebp - 0x143c]
test eax, eax
jle 0x100092c5
xor edx, edx
mov esi, eax
nop word [eax + eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2 + 2], ax
sub esi, 1
jne 0x10009290
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
lea ecx, [ebp - 0x1514]
mov dword [ebp - 0x1514], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1518], esi
lea ecx, [ebp - 0x1518]
jmp 0x10009726
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1aa0]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10009344
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jge 0x100093ae
mov eax, dword [ebp - 0x1448]
dec eax
cmp edi, eax
je 0x100093ae
mov eax, dword [ebp - 0x143c]
test eax, eax
jle 0x10009392
xor esi, esi
mov dword [ebp - 0x1438], eax
mov eax, dword [ebp - 0x142c]
lea esi, [esi + 0xc]
mov edx, dword [eax + esi - 0xc]
movzx eax, word [edx + edi*2 + 2]
movzx ecx, word [edx + edi*2 - 2]
add ecx, eax
shr ecx, 1
sub dword [ebp - 0x1438], 1
movzx eax, cx
mov word [edx + edi*2], ax
jne 0x10009361
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
mov dword [ebp - 0x151c], esi
lea ecx, [ebp - 0x151c]
jmp 0x10009726
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1b0c]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100093dc
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jge 0x10009744
mov eax, dword [ebp - 0x1448]
dec eax
cmp edi, eax
jne 0x10009744
mov eax, dword [ebp - 0x143c]
test eax, eax
jle 0x10009421
xor edx, edx
mov esi, eax
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2], ax
sub esi, 1
jne 0x10009400
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
mov dword [ebp - 0x1520], esi
lea ecx, [ebp - 0x1520]
jmp 0x10009726
jne 0x10009744
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1ab8]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov edi, dword [ebp - 0x1478]
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x100095c1
cmp edi, dword [eax + 0x10]
jl 0x100095c1
lea eax, [ebp - 0x147c]
push eax
lea eax, [ebp - 0x1ac4]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100095c1
mov eax, dword [ebp - 0x147c]
cmp eax, dword [ecx + 0x10]
jl 0x100095c1
lea eax, [ebp - 0x1464]
push eax
lea eax, [ebp - 0x1ad0]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100094de
mov eax, dword [ebp - 0x1464]
cmp eax, dword [ecx + 0x10]
jge 0x100095c1
mov edi, dword [ebp - 0x143c]
test edi, edi
jle 0x10009533
xor edx, edx
nop word [eax + eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + 6]
mov word [ecx], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + 6]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + 6]
mov word [ecx + 4], ax
sub edi, 1
jne 0x100094f0
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
lea ecx, [ebp - 0x1524]
mov dword [ebp - 0x1524], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
lea ecx, [ebp - 0x1528]
mov dword [ebp - 0x1528], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x152c], esi
lea ecx, [ebp - 0x152c]
jmp 0x10009726
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1adc]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x100096b3
cmp edi, dword [eax + 0x10]
jl 0x100096b3
lea eax, [ebp - 0x147c]
push eax
lea eax, [ebp - 0x1ae8]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10009621
mov eax, dword [ebp - 0x147c]
cmp eax, dword [ecx + 0x10]
jge 0x100096b3
mov edi, dword [ebp - 0x143c]
test edi, edi
jle 0x10009661
xor edx, edx
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + 4]
mov word [ecx], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [edx + eax - 0xc]
movzx eax, word [ecx + 4]
mov word [ecx + 2], ax
sub edi, 1
jne 0x10009630
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
lea ecx, [ebp - 0x1530]
mov dword [ebp - 0x1530], esi
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
add esp, 8
call fcn.10014f30
mov dword [ebp - 0x1534], esi
lea ecx, [ebp - 0x1534]
jmp 0x10009726
lea eax, [ebp - 0x1478]
push eax
lea eax, [ebp - 0x1af4]
push eax
lea ecx, [ebp - 0x1454]
call fcn.1001a720
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x100096da
cmp edi, dword [eax + 0x10]
jge 0x10009744
mov edi, dword [ebp - 0x143c]
test edi, edi
jle 0x1000970f
xor edx, edx
nop word [eax + eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + 2]
mov word [ecx], ax
sub edi, 1
jne 0x100096f0
mov esi, dword [ebp - 0x141c]
lea ecx, [ebp - 0x141c]
call fcn.10014f30
mov dword [ebp - 0x1544], esi
lea ecx, [ebp - 0x1544]
call fcn.10014f30
push esi
lea ecx, [ebp - 0x1454]
call fcn.10019420
push 0x14
push eax
call fcn.10022c16
add esp, 8
jmp 0x1000974f
lea ecx, [ebp - 0x141c]
call fcn.10014f30
mov esi, dword [ebp - 0x141c]
cmp esi, dword [ebp - 0x1454]
jne 0x10008d70
mov esi, dword [ebp - 0x1448]
mov dword [ebp - 0x14c4], 0
mov dword [ebp - 0x14c0], 0
mov dword [ebp - 0x14bc], 0
test esi, esi
je 0x100097bd
push esi
lea ecx, [ebp - 0x14c4]
call fcn.1001d330
lea edi, [esi*8]
mov esi, dword [ebp - 0x14c4]
push edi
push 0
push esi
call fcn.100255e0
lea eax, [esi + edi]
add esp, 0xc
mov esi, dword [ebp - 0x1448]
mov dword [ebp - 0x14c0], eax
mov edi, dword [ebp - 0x143c]
lea eax, [ebp - 0x14c4]
push ecx
push eax
push edi
lea ecx, [ebp - 0x19b0]
mov byte [ebp - 4], 0x18
call fcn.10017010
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x14c4]
test ecx, ecx
je 0x10009841
mov eax, dword [ebp - 0x14bc]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x10009819
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push edx
push ecx
call fcn.10022c16
add esp, 8
mov dword [ebp - 0x14c4], 0
mov dword [ebp - 0x14c0], 0
mov dword [ebp - 0x14bc], 0
push dword [ebp - 0x14e4]
lea ecx, [ebp - 0x157c]
push dword [ebp - 0x14e8]
call fcn.10019e70
mov byte [ebp - 4], 0x1b
call fcn.10024289
mov dword [ebp - 0x94], 0xffffffff
mov edx, 1
mov dword [ebp - 0x1414], eax
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [ebp + edx*4 - 0x1414], eax
inc edx
cmp edx, 0x270
jb 0x10009876
cmp dword [ebp - 0x1480], 0xe
movsd xmm3, qword [ebp - 0x14f8]
movsd xmm2, qword [0x10050268]
movaps xmm1, xmm3
mulsd xmm1, qword [ebx + 0x14]
mov dword [ebp - 0x1418], 0x270
movaps xmm0, xmm1
divsd xmm0, xmm2
cvttsd2si edx, xmm0
mov dword [ebp - 0x1440], edx
jne 0x100098e7
addsd xmm1, qword [0x10050288]
divsd xmm1, xmm2
cvttsd2si edx, xmm1
mov dword [ebp - 0x1440], edx
mov ecx, dword [ebp - 0x157c]
neg edx
mov dword [ebp - 0x14f4], edx
mov eax, dword [ecx]
mov dword [ebp - 0x1474], eax
cmp eax, ecx
je 0x10009ace
nop word [eax + eax]
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov edi, dword [ebp - 0x142c]
mov dword [ebp - 0x1438], ecx
lea eax, [esi + esi*2]
mov dword [ebp - 0x146c], esi
mov dword [ebp - 0x1468], edi
mov eax, dword [edi + eax*4]
movzx eax, word [eax + ecx*2]
lea ecx, [ebp - 0x1418]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm3
jb 0x10009a02
cmp edx, 0x80000000
lea eax, [edx - 0x80000000]
lea edi, [edx - 0x80000000]
cmovae edi, eax
mov eax, 0x80000000
sub eax, edi
mov dword [ebp - 0x1444], edi
cmp eax, 0xffffffff
jne 0x10009980
call fcn.10020c60
mov ecx, eax
jmp 0x100099cf
lea esi, [eax + 1]
call fcn.10020c60
mul esi
mov dword [ebp - 0x14b4], eax
mov ecx, edx
cmp eax, esi
jae 0x100099c9
mov eax, esi
xor edx, edx
neg eax
div esi
mov edi, edx
cmp dword [ebp - 0x14b4], edi
jae 0x100099c3
nop dword [eax + eax]
lea ecx, [ebp - 0x1418]
call fcn.10020c60
mul esi
mov ecx, edx
cmp eax, edi
jb 0x100099b0
mov edi, dword [ebp - 0x1444]
mov esi, dword [ebp - 0x146c]
mov edx, dword [ebp - 0x1468]
lea eax, [esi + esi*2]
add ecx, edi
mov edi, dword [ebp - 0x1438]
mov eax, dword [edx + eax*4]
mov ax, word [eax + edi*2]
add ax, cx
lea ecx, [esi + esi*2]
movzx edx, ax
mov eax, dword [ebp - 0x142c]
mov eax, dword [eax + ecx*4]
mov word [eax + edi*2], dx
jmp 0x10009a9f
mov eax, dword [ebp - 0x1440]
cmp eax, 0xffffffff
jne 0x10009a16
call fcn.10020c60
mov edi, eax
jmp 0x10009a6d
inc eax
mov dword [ebp - 0x1444], eax
call fcn.10020c60
mov ecx, dword [ebp - 0x1444]
mul ecx
mov dword [ebp - 0x14b4], eax
mov edi, edx
cmp eax, ecx
jae 0x10009a6d
mov eax, ecx
xor edx, edx
neg eax
div ecx
mov eax, edx
mov dword [ebp - 0x153c], eax
cmp dword [ebp - 0x14b4], eax
jae 0x10009a6d
mov esi, ecx
lea ecx, [ebp - 0x1418]
call fcn.10020c60
mul esi
mov edi, edx
cmp eax, dword [ebp - 0x153c]
jb 0x10009a50
mov esi, dword [ebp - 0x146c]
mov edx, dword [ebp - 0x1468]
lea eax, [esi + esi*2]
mov ecx, dword [ebp - 0x1438]
mov eax, dword [edx + eax*4]
mov ax, word [eax + ecx*2]
lea ecx, [esi + esi*2]
add ax, di
movzx edx, ax
mov eax, dword [ebp - 0x142c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1438]
mov word [eax + ecx*2], dx
lea ecx, [ebp - 0x1474]
call fcn.10014f30
mov eax, dword [ebp - 0x1474]
mov edx, dword [ebp - 0x14f4]
cmp eax, dword [ebp - 0x157c]
jne 0x10009910
mov esi, dword [ebp - 0x1448]
mov edi, dword [ebp - 0x143c]
cmp edi, 0x71f
je 0x10009ae2
cmp edi, 0x4ee
jne 0x10009cbe
mov dword [ebp - 0x14d0], 0
mov dword [ebp - 0x14cc], 0
mov dword [ebp - 0x14c8], 0
test esi, esi
je 0x10009b3e
push esi
lea ecx, [ebp - 0x14d0]
call fcn.1001d330
lea edi, [esi*8]
mov esi, dword [ebp - 0x14d0]
push edi
push 0
push esi
call fcn.100255e0
lea eax, [esi + edi]
add esp, 0xc
mov esi, dword [ebp - 0x1448]
mov edi, dword [ebp - 0x143c]
mov dword [ebp - 0x14cc], eax
push ecx
lea eax, [ebp - 0x14d0]
mov byte [ebp - 4], 0x1c
push eax
push edi
lea ecx, [ebp - 0x1504]
call fcn.10017010
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x14d0]
test edx, edx
je 0x10009bb5
mov ecx, dword [ebp - 0x14c8]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x10009b8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a11d
push ecx
push edx
call fcn.10022c16
add esp, 8
mov dword [ebp - 0x14d0], 0
mov dword [ebp - 0x14cc], 0
mov dword [ebp - 0x14c8], 0
push 5
lea edx, [ebp - 0x142c]
lea ecx, [ebp - 0x19a4]
call fcn.100047a0
lea ecx, [ebp - 0x1504]
mov dword [ebp - 0x14f4], eax
add esp, 4
cmp ecx, eax
je 0x10009c14
call fcn.10018c80
mov edx, dword [ebp - 0x14f4]
mov ecx, dword [edx]
mov dword [ebp - 0x1504], ecx
mov eax, dword [edx + 4]
mov dword [ebp - 0x1500], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x14fc], eax
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
lea ecx, [ebp - 0x19a4]
call fcn.10018c80
xor edx, edx
test esi, esi
jle 0x10009cb3
movsd xmm2, qword [0x10050300]
movsd xmm3, qword [0x100502a0]
nop dword [eax]
test edi, edi
jle 0x10009cae
xor ecx, ecx
mov esi, edi
nop dword [eax + eax]
mov eax, dword [ebp - 0x142c]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x1468], eax
mov eax, dword [ebp - 0x1504]
mov eax, dword [eax + ecx]
movsd xmm1, qword [eax + edx*8]
mov eax, dword [ebp - 0x1468]
movzx eax, word [eax + edx*2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
andps xmm0, xmm2
comisd xmm0, xmm3
jbe 0x10009c9a
mov edi, dword [ebp - 0x1468]
cvttsd2si eax, xmm1
mov word [edi + edx*2], ax
add ecx, 0xc
sub esi, 1
jne 0x10009c50
mov esi, dword [ebp - 0x1448]
mov edi, dword [ebp - 0x143c]
inc edx
cmp edx, esi
jl 0x10009c40
lea ecx, [ebp - 0x1504]
call fcn.10018c80
mov ecx, dword [ebp - 0x14b8]
xor eax, eax
cmp ecx, 0x2863c0
jne 0x10009cda
mov dword [ebp - 0x1444], 0x8c
jmp 0x10009d3e
cmp ecx, 0x8c3020
jne 0x10009cee
mov dword [ebp - 0x1444], 0x8c
jmp 0x10009d3e
cmp ecx, 0x230ac0
jne 0x10009d02
mov dword [ebp - 0x1444], 0xd8
jmp 0x10009d3e
cmp ecx, 0x230c08
jne 0x10009d16
mov dword [ebp - 0x1444], 0x46
jmp 0x10009d3e
cmp ecx, 0x15cb608
jne 0x10009d2a
mov dword [ebp - 0x1444], 0x8c
jmp 0x10009d3e
cmp ecx, 0x572d82
mov edx, 0x46
cmove eax, edx
mov dword [ebp - 0x1444], eax
cmp dword [ebp - 0x1480], 0xc
jne 0x10009d87
test edi, edi
jle 0x10009d87
xor edx, edx
mov dword [ebp - 0x1480], edi
mov eax, edi
xor ecx, ecx
test esi, esi
jle 0x10009d79
nop dword [eax + eax]
mov eax, dword [ebp - 0x142c]
mov eax, dword [eax + edx]
shr word [eax + ecx*2], 4
inc ecx
cmp ecx, esi
jl 0x10009d60
mov eax, dword [ebp - 0x1480]
add edx, 0xc
sub eax, 1
mov dword [ebp - 0x1480], eax
jne 0x10009d55
mov edx, esi
xor eax, eax
sub edx, dword [ebp - 0x1444]
cmp edx, esi
jge 0x10009e49
lea esi, [edi + edi*2]
mov ecx, edi
shl esi, 2
mov dword [ebp - 0x1438], esi
mov esi, dword [ebp - 0x1448]
nop dword [eax]
sub dword [ebp - 0x1438], 0xc
inc eax
dec ecx
mov dword [ebp - 0x14b8], eax
mov dword [ebp - 0x1444], ecx
test eax, eax
jle 0x10009dfa
xor ecx, ecx
mov esi, eax
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea ecx, [ecx + 0xc]
xor edi, edi
mov eax, dword [eax + ecx - 0xc]
mov word [eax + edx*2], di
sub esi, 1
jne 0x10009dd0
mov esi, dword [ebp - 0x1448]
mov edi, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x1444]
cmp ecx, edi
jge 0x10009e3a
mov ecx, dword [ebp - 0x1438]
mov esi, edi
sub esi, dword [ebp - 0x1444]
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea ecx, [ecx + 0xc]
xor edi, edi
mov eax, dword [eax + ecx - 0xc]
mov word [eax + edx*2], di
sub esi, 1
jne 0x10009e10
mov esi, dword [ebp - 0x1448]
mov edi, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x1444]
mov eax, dword [ebp - 0x14b8]
inc edx
cmp edx, esi
jl 0x10009db0
mov ecx, dword [ebp - 0x14f0]
lea edx, [ebp - 0x142c]
push esi
push edi
call fcn.10004ae0
add esp, 8
lea ecx, [ebp - 0x157c]
call fcn.100045a0
lea ecx, [ebp - 0x19b0]
call fcn.10018c80
lea ecx, [ebp - 0x1454]
call fcn.1000a2d0
lea ecx, [ebp - 0x145c]
call fcn.1000a2d0
mov edx, dword [ebp - 0x148c]
test edx, edx
je 0x10009ee6
mov ecx, dword [ebp - 0x1484]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x10009ebe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push ecx
push edx
call fcn.10022c16
add esp, 8
mov dword [ebp - 0x148c], 0
mov dword [ebp - 0x1488], 0
mov dword [ebp - 0x1484], 0
lea ecx, [ebp - 0x1434]
call fcn.100045a0
lea ecx, [ebp - 0x1584]
call fcn.100045a0
mov edx, dword [ebp - 0x14e8]
test edx, edx
je 0x10009f57
mov ecx, dword [ebp - 0x14e0]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x10009f2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push ecx
push edx
call fcn.10022c16
add esp, 8
mov dword [ebp - 0x14e8], 0
mov dword [ebp - 0x14e4], 0
mov dword [ebp - 0x14e0], 0
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10009f8b
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10009f81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push ecx
push edx
call fcn.10022c16
add esp, 8
mov esi, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea ecx, [ebp - 0x1bf8]
call fcn.1000a130
lea ecx, [ebp - 0x142c]
call fcn.10017260
mov ecx, dword [ebp - 0x14a4]
test ecx, ecx
je 0x1000a00e
sub esi, ecx
mov eax, ecx
and esi, 0xfffffff8
cmp esi, 0x1000
jb 0x10009fe6
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push esi
push ecx
call fcn.10022c16
add esp, 8
mov dword [ebp - 0x14a4], 0
mov dword [ebp - 0x14a0], 0
mov dword [ebp - 0x149c], 0
mov edx, dword [ebp - 0x1498]
test edx, edx
je 0x1000a069
mov ecx, dword [ebp - 0x1490]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1000a041
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push ecx
push edx
call fcn.10022c16
add esp, 8
mov dword [ebp - 0x1498], 0
mov dword [ebp - 0x1494], 0
mov dword [ebp - 0x1490], 0
mov edx, dword [ebp - 0x14b0]
test edx, edx
je 0x1000a0c4
mov ecx, dword [ebp - 0x14a8]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x1000a09c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push ecx
push edx
call fcn.10022c16
add esp, 8
mov dword [ebp - 0x14b0], 0
mov dword [ebp - 0x14ac], 0
mov dword [ebp - 0x14a8], 0
mov edx, dword [ebp - 0x14dc]
test edx, edx
je 0x1000a0fd
mov ecx, dword [ebp - 0x14d4]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x1000a0f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a122
push ecx
push edx
call fcn.10022c16
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100228cb
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.1002881a
call fcn.1002881a
int3