Function at 0x10004ad0
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 0x1003b967
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1dc0
call fcn.1001a2c0
mov eax, dword [0x10049080]
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 - 0x1484], edx
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x144c], eax
mov eax, dword [0x1004afa4]
mov dword [ebp - 0x143c], edi
mov dword [ebp - 0x1500], eax
mov dword [ebp - 0x14d4], 0
mov dword [ebp - 0x14d0], 0
mov dword [ebp - 0x14cc], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x14a8], 0
mov dword [ebp - 0x14a4], 0
mov dword [ebp - 0x14a0], 0
mov dword [ebp - 0x149c], 0
mov dword [ebp - 0x1498], 0
mov dword [ebp - 0x1494], 0
mov dword [ebp - 0x14b4], 0
mov dword [ebp - 0x14b0], 0
mov dword [ebp - 0x14ac], 0
push ecx
push edi
lea ecx, [ebp - 0x19e4]
mov byte [ebp - 4], 3
call fcn.1000ebf0
push ecx
push eax
push dword [ebp - 0x144c]
lea ecx, [ebp - 0x142c]
mov byte [ebp - 4], 4
call fcn.1000ead0
lea ecx, [ebp - 0x19e4]
mov byte [ebp - 4], 6
call fcn.10001a80
mov ecx, dword [ebp - 0x1500]
lea edx, [ebp - 0x142c]
push edi
push dword [ebp - 0x144c]
call fcn.10003450
push ecx
push esi
lea ecx, [ebp - 0x1aa0]
call fcn.1000e2e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1aa0]
mov eax, dword [ebp - 0x1aa0]
add ecx, dword [eax + 4]
call fcn.10002640
test al, al
je 0x10004c3c
call fcn.10010b20
jmp 0x10008c07
lea ecx, [ebp - 0x2c]
call fcn.1000ee50
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1aa0]
call fcn.10010dd0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10002630
test al, al
je 0x10004ec0
nop word [eax + eax]
push 0
lea ecx, [ebp - 0x2c]
call fcn.1000ed30
cmp byte [eax], 0x50
jne 0x10004d54
sub esp, 8
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x1c80]
push eax
call fcn.1000d1a0
lea ecx, [ebp - 0x44]
call fcn.1000ee50
push ecx
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1c80]
call fcn.10010e80
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10002640
test al, al
jne 0x10004e99
lea eax, [ebp - 0x158c]
push eax
lea ecx, [ebp - 0x1c80]
call fcn.1000e3e0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10002640
test al, al
jne 0x10004e99
sub esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x44]
push eax
call fcn.1000ece0
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.100027c0
add esp, 4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.1000ed50
mov ecx, dword [ebp - 0x158c]
lea eax, [esi - 1]
dec ecx
mov dword [ebp - 0x164c], eax
lea eax, [ebp - 0x164c]
mov dword [ebp - 0x1648], ecx
push eax
lea ecx, [ebp - 0x149c]
call fcn.1000e770
lea ecx, [ebp - 0x44]
call fcn.1000ed50
lea ecx, [ebp - 0x1c80]
jmp 0x10004e6c
push 0
lea ecx, [ebp - 0x2c]
call fcn.1000ed30
lea ecx, [ebp - 0x2c]
cmp byte [eax], 0x43
jne 0x10004de1
sub esp, 8
lea eax, [ebp - 0x74]
push eax
call fcn.1000ece0
sub esp, 8
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1dd0]
push eax
call fcn.1000d1a0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xe
call fcn.1000ed50
lea eax, [ebp - 0x1588]
push eax
lea ecx, [ebp - 0x1dd0]
call fcn.1000e3e0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10002640
test al, al
jne 0x10004ea9
mov eax, dword [ebp - 0x1588]
lea ecx, [ebp - 0x14d4]
dec eax
mov dword [ebp - 0x1584], eax
lea eax, [ebp - 0x1584]
push eax
call fcn.1000e480
lea ecx, [ebp - 0x1dd0]
jmp 0x10004e6c
push 0
call fcn.1000ed30
cmp byte [eax], 0x52
jne 0x10004e75
sub esp, 8
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000ece0
sub esp, 8
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1d28]
push eax
call fcn.1000d1a0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
call fcn.1000ed50
lea eax, [ebp - 0x1580]
push eax
lea ecx, [ebp - 0x1d28]
call fcn.1000e3e0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10002640
test al, al
jne 0x10004eb1
mov eax, dword [ebp - 0x1580]
lea ecx, [ebp - 0x14a8]
dec eax
mov dword [ebp - 0x157c], eax
lea eax, [ebp - 0x157c]
push eax
call fcn.1000e480
lea ecx, [ebp - 0x1d28]
mov byte [ebp - 4], 8
call fcn.10008e90
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x1aa0]
call fcn.10010dd0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.10002630
test al, al
jne 0x10004c70
jmp 0x10004ec0
lea ecx, [ebp - 0x44]
call fcn.1000ed50
lea ecx, [ebp - 0x1c80]
jmp 0x10004eb7
lea ecx, [ebp - 0x1dd0]
jmp 0x10004eb7
lea ecx, [ebp - 0x1d28]
mov byte [ebp - 4], 8
call fcn.10008e90
lea ecx, [ebp - 0x1aa0]
call fcn.1000e2a0
lea eax, [ebp - 0x149c]
push eax
lea ecx, [ebp - 0x14b4]
call fcn.1000e740
mov eax, dword [ebp - 0x14d4]
mov dword [ebp - 0x1464], eax
cmp eax, dword [ebp - 0x14d0]
je 0x10004f3c
xor esi, esi
test edi, edi
jle 0x10004f2b
nop word [eax + eax]
mov eax, dword [eax]
lea ecx, [ebp - 0x14b4]
mov dword [ebp - 0x1654], eax
lea eax, [ebp - 0x1654]
push eax
mov dword [ebp - 0x1650], esi
call fcn.1000e770
mov eax, dword [ebp - 0x1464]
inc esi
cmp esi, edi
jl 0x10004f00
add eax, 4
mov dword [ebp - 0x1464], eax
cmp eax, dword [ebp - 0x14d0]
jne 0x10004ef1
mov eax, dword [ebp - 0x14a8]
mov esi, dword [ebp - 0x144c]
mov dword [ebp - 0x1464], eax
cmp eax, dword [ebp - 0x14a4]
je 0x10004fa2
xor edi, edi
test esi, esi
jle 0x10004f8b
nop dword [eax]
mov eax, dword [eax]
lea ecx, [ebp - 0x14b4]
mov dword [ebp - 0x1658], eax
lea eax, [ebp - 0x165c]
push eax
mov dword [ebp - 0x165c], edi
call fcn.1000e770
mov eax, dword [ebp - 0x1464]
inc edi
cmp edi, esi
jl 0x10004f60
add eax, 4
mov dword [ebp - 0x1464], eax
cmp eax, dword [ebp - 0x14a4]
jne 0x10004f56
mov edi, dword [ebp - 0x143c]
mov dword [ebp - 0x14e0], 0
mov dword [ebp - 0x14dc], 0
mov dword [ebp - 0x14d8], 0
push edi
push esi
lea edx, [ebp - 0x149c]
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x19b4]
call fcn.10002a00
add esp, 8
lea ecx, [ebp - 0x14e0]
push eax
call fcn.1000e810
lea ecx, [ebp - 0x19b4]
call fcn.1000e7b0
mov eax, edi
xor ecx, ecx
imul eax, esi
xorps xmm1, xmm1
mov dword [ebp - 0x146c], ecx
mov dword [ebp - 0x1464], eax
test edi, edi
jle 0x100050c5
nop
mov dword [ebp - 0x1448], 0
test esi, esi
jle 0x100050b6
mov edi, dword [ebp - 0x1448]
nop dword [eax + eax]
push edi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x146c]
mov ecx, 0xc350
mov eax, dword [eax]
cmp word [eax + edx*2], cx
lea eax, [eax + edx*2]
ja 0x10005098
push edi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x146c]
mov eax, dword [eax]
cmp word [eax + edx*2], 0
lea eax, [eax + edx*2]
jbe 0x10005098
push edi
call fcn.1000ea20
mov edx, dword [ebp - 0x146c]
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 0x100050a5
mov eax, dword [ebp - 0x1464]
dec eax
mov dword [ebp - 0x1464], eax
inc edi
cmp edi, esi
jl 0x10005030
mov edi, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x146c]
inc ecx
mov dword [ebp - 0x146c], ecx
cmp ecx, edi
jl 0x10005010
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov byte [ebp - 0x1448], 0
push dword [ebp - 0x1448]
divsd xmm1, xmm0
push dword [ebp - 0x1498]
movsd qword [ebp - 0x1480], xmm1
push dword [ebp - 0x149c]
call fcn.10010e90
mov edi, dword [ebp - 0x14b0]
add esp, 0xc
mov esi, dword [ebp - 0x14b4]
mov byte [ebp - 0x1448], 0
push dword [ebp - 0x1448]
push edi
push esi
call fcn.10010e90
add esp, 0xc
lea ecx, [ebp - 0x14f0]
push dword [ebp - 0x1498]
push dword [ebp - 0x149c]
call fcn.10010970
push edi
push esi
lea ecx, [ebp - 0x1438]
mov byte [ebp - 4], 0x13
call fcn.10010970
mov dword [ebp - 0x1490], 0
mov dword [ebp - 0x148c], 0
mov dword [ebp - 0x1488], 0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x14f0]
mov eax, dword [ecx]
mov dword [ebp - 0x14fc], eax
cmp eax, ecx
je 0x10006c91
nop dword [eax]
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov edx, dword [ebp - 0x144c]
mov dword [ebp - 0x1420], esi
lea eax, [esi - 1]
mov dword [ebp - 0x141c], edi
test eax, eax
js 0x10005cf1
lea eax, [edi - 1]
test eax, eax
js 0x10005cf1
lea ecx, [esi + 1]
cmp ecx, edx
jge 0x10005cf1
lea ecx, [edi + 1]
mov dword [ebp - 0x1448], ecx
mov ecx, dword [ebp - 0x143c]
cmp dword [ebp - 0x1448], ecx
jge 0x10005cf7
lea ecx, [esi - 1]
mov dword [ebp - 0x1660], eax
lea eax, [ebp - 0x1664]
mov dword [ebp - 0x1664], ecx
push eax
lea ecx, [ebp - 0x1438]
call fcn.1000e510
test eax, eax
jne 0x1000529a
lea eax, [esi + 1]
mov dword [ebp - 0x166c], eax
lea ecx, [ebp - 0x1438]
lea eax, [edi + 1]
mov dword [ebp - 0x1668], eax
lea eax, [ebp - 0x166c]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000529a
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edi, dword [eax]
lea eax, [esi - 1]
push eax
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
mov edx, dword [eax]
lea eax, [ecx + ecx]
lea edx, [edx + ecx*2]
movzx ecx, word [eax + esi - 2]
movzx eax, word [eax + edi + 2]
add ecx, eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1674], eax
mov eax, dword [ebp - 0x141c]
shr ecx, 1
mov dword [ebp - 0x1670], eax
lea eax, [ebp - 0x1674]
mov word [edx], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
mov dword [ebp - 0x167c], esi
mov dword [ebp - 0x1678], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x167c]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000535b
lea eax, [edi + 1]
mov dword [ebp - 0x1684], esi
mov dword [ebp - 0x1680], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1684]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000535b
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
push esi
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
call fcn.1000ea20
mov eax, dword [eax]
movzx ecx, word [edi + eax + 2]
movzx eax, word [edi + esi - 2]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x168c], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1688], eax
lea eax, [ebp - 0x168c]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x1690], edi
mov dword [ebp - 0x1694], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1694]
push eax
call fcn.1000e510
test eax, eax
jne 0x10005420
lea eax, [esi + 1]
mov dword [ebp - 0x1698], edi
mov dword [ebp - 0x169c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x169c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10005420
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
lea eax, [esi + 1]
push eax
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
call fcn.1000ea20
movzx ecx, word [esi + edi]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1448]
movzx eax, word [eax]
add ecx, eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x16a4], eax
mov eax, dword [ebp - 0x141c]
shr ecx, 1
mov dword [ebp - 0x16a0], eax
lea eax, [ebp - 0x16a4]
mov word [edx + edi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
lea ecx, [esi + 1]
mov dword [ebp - 0x16a8], eax
lea eax, [ebp - 0x16ac]
mov dword [ebp - 0x16ac], ecx
push eax
lea ecx, [ebp - 0x1438]
call fcn.1000e510
test eax, eax
jne 0x100054ec
lea eax, [edi + 1]
lea ecx, [esi - 1]
mov dword [ebp - 0x16b0], eax
lea eax, [ebp - 0x16b4]
mov dword [ebp - 0x16b4], ecx
push eax
lea ecx, [ebp - 0x1438]
call fcn.1000e510
test eax, eax
jne 0x100054ec
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
lea eax, [esi + 1]
push eax
call fcn.1000ea20
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
mov eax, dword [eax]
movzx ecx, word [eax + edi + 2]
movzx eax, word [edi + esi - 2]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
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.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x16c0], edi
mov dword [ebp - 0x16c4], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x16c4]
push eax
call fcn.1000e510
test eax, eax
jne 0x100055ae
lea eax, [edi - 1]
mov dword [ebp - 0x16cc], esi
mov dword [ebp - 0x16c8], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x16cc]
push eax
call fcn.1000e510
test eax, eax
jne 0x100055ae
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
push esi
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
call fcn.1000ea20
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
mov eax, dword [eax]
movzx ecx, word [eax + edi]
movzx eax, word [edi + esi - 2]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
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.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x16d8], edi
mov dword [ebp - 0x16dc], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x16dc]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000567e
lea eax, [edi + 1]
mov dword [ebp - 0x16e4], esi
mov dword [ebp - 0x16e0], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x16e4]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000567e
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea ecx, [edi + edi]
push esi
mov edi, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
movzx ecx, word [edi]
mov dword [ebp - 0x16e8], edx
mov eax, dword [eax]
movzx eax, word [eax + edx*2 + 2]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov dword [ebp - 0x16ec], eax
lea eax, [ebp - 0x16ec]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
mov dword [ebp - 0x16f4], esi
mov dword [ebp - 0x16f0], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x16f4]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000574e
lea eax, [esi + 1]
mov dword [ebp - 0x16f8], edi
mov dword [ebp - 0x16fc], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x16fc]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000574e
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea ecx, [edi + edi]
push esi
mov edi, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
mov dword [ebp - 0x1700], edx
mov eax, dword [eax]
movzx ecx, word [eax + edx*2 - 2]
movzx eax, word [edi]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov dword [ebp - 0x1704], eax
lea eax, [ebp - 0x1704]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi + 1]
mov dword [ebp - 0x1708], edi
mov dword [ebp - 0x170c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x170c]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000581e
lea eax, [edi + 1]
mov dword [ebp - 0x1714], esi
mov dword [ebp - 0x1710], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1714]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000581e
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push esi
mov edi, dword [eax]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
inc eax
push eax
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
mov eax, dword [eax]
lea edx, [ecx + ecx]
lea eax, [eax + ecx*2]
movzx ecx, word [eax]
movzx eax, word [edi + edx + 2]
add ecx, eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x171c], eax
mov eax, dword [ebp - 0x141c]
shr ecx, 1
mov dword [ebp - 0x1718], eax
lea eax, [ebp - 0x171c]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi + 1]
mov dword [ebp - 0x1720], edi
mov dword [ebp - 0x1724], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1724]
push eax
call fcn.1000e510
test eax, eax
jne 0x100058ef
lea eax, [edi + 1]
mov dword [ebp - 0x172c], esi
mov dword [ebp - 0x1728], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x172c]
push eax
call fcn.1000e510
test eax, eax
jne 0x100058ef
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
mov edx, dword [eax]
lea eax, [ecx + ecx]
movzx eax, word [eax + edi + 2]
lea edx, [edx + ecx*2]
movzx ecx, word [esi]
add ecx, eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1734], eax
mov eax, dword [ebp - 0x141c]
shr ecx, 1
mov dword [ebp - 0x1730], eax
lea eax, [ebp - 0x1734]
mov word [edx], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
lea ecx, [esi - 1]
mov dword [ebp - 0x1738], eax
lea eax, [ebp - 0x173c]
mov dword [ebp - 0x173c], ecx
push eax
lea ecx, [ebp - 0x1438]
call fcn.1000e510
test eax, eax
jne 0x1000596e
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
lea ecx, [ebp - 0x1438]
mov eax, dword [eax]
mov ax, word [eax + edi - 2]
mov word [esi + edi], ax
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.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
mov dword [ebp - 0x174c], esi
mov dword [ebp - 0x1748], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x174c]
push eax
call fcn.1000e510
test eax, eax
jne 0x100059e8
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1420]
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
mov ax, word [edi + esi - 2]
mov word [ecx + edi], ax
lea ecx, [ebp - 0x1438]
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.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
lea ecx, [esi + 1]
mov dword [ebp - 0x1758], eax
lea eax, [ebp - 0x175c]
mov dword [ebp - 0x175c], ecx
push eax
lea ecx, [ebp - 0x1438]
call fcn.1000e510
test eax, eax
jne 0x10005a68
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1420]
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
mov ax, word [edi + esi - 2]
mov word [ecx + edi], ax
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1764], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1760], eax
lea eax, [ebp - 0x1764]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x1768], edi
mov dword [ebp - 0x176c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x176c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10005ae4
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea esi, [edi + edi]
mov edi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
lea ecx, [ebp - 0x1438]
mov eax, dword [eax]
mov ax, word [eax + esi]
mov word [edi + esi], ax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1774], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1770], eax
lea eax, [ebp - 0x1774]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi + 1]
mov dword [ebp - 0x1778], edi
mov dword [ebp - 0x177c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x177c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10005b61
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1420]
lea esi, [edi + edi]
mov edi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
mov ax, word [edi + esi]
mov word [ecx + esi], ax
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1784], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1780], eax
lea eax, [ebp - 0x1784]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi + 1]
lea ecx, [esi - 1]
mov dword [ebp - 0x1788], eax
lea eax, [ebp - 0x178c]
mov dword [ebp - 0x178c], ecx
push eax
lea ecx, [ebp - 0x1438]
call fcn.1000e510
test eax, eax
jne 0x10005be1
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1420]
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
mov ax, word [esi + edi + 2]
mov word [ecx + edi], ax
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1794], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1790], eax
lea eax, [ebp - 0x1794]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi + 1]
mov dword [ebp - 0x179c], esi
mov dword [ebp - 0x1798], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x179c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10005c5b
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1420]
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
mov ax, word [esi + edi + 2]
mov word [ecx + edi], ax
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x17a4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x17a0], eax
lea eax, [ebp - 0x17a4]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi + 1]
lea ecx, [esi + 1]
mov dword [ebp - 0x17a8], eax
lea eax, [ebp - 0x17ac]
mov dword [ebp - 0x17ac], ecx
push eax
lea ecx, [ebp - 0x1438]
call fcn.1000e510
test eax, eax
jne 0x10005cda
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
inc eax
push eax
call fcn.1000ea20
lea ecx, [ebp - 0x1438]
mov eax, dword [eax]
mov ax, word [edi + eax + 2]
mov word [esi + edi], ax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x17b4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x17b0], eax
lea eax, [ebp - 0x17b4]
push eax
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x17bc], esi
lea eax, [ebp - 0x17bc]
mov dword [ebp - 0x17b8], edi
jmp 0x10006c68
mov ecx, dword [ebp - 0x143c]
test esi, esi
jne 0x10005fdd
lea eax, [edi - 1]
test eax, eax
js 0x10005fdd
lea eax, [edi + 1]
cmp eax, ecx
jge 0x10005fdd
mov dword [ebp - 0x17c0], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x17c4]
mov dword [ebp - 0x17c4], esi
push eax
call fcn.1000e510
lea esi, [edi - 1]
test eax, eax
jne 0x10005dce
mov dword [ebp - 0x17cc], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x17cc]
mov dword [ebp - 0x17c8], esi
push eax
call fcn.1000e510
test eax, eax
jne 0x10005dce
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
push 0
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
call fcn.1000ea20
push 0
mov esi, dword [eax]
call fcn.1000ea20
mov dword [ebp - 0x17d4], 0
mov eax, dword [eax]
movzx ecx, word [edi + eax + 2]
movzx eax, word [esi + edi - 2]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x17d0], eax
lea eax, [ebp - 0x17d4]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [ebp - 0x17dc]
mov dword [ebp - 0x17dc], 1
push eax
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x17d8], edi
call fcn.1000e510
test eax, eax
jne 0x10005e8e
mov dword [ebp - 0x17e4], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x17e4]
mov dword [ebp - 0x17e0], esi
push eax
call fcn.1000e510
test eax, eax
jne 0x10005e8e
push 1
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea ecx, [edi + edi]
push 0
mov edi, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push 0
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
mov dword [ebp - 0x17ec], 0
mov edx, dword [eax]
lea eax, [ecx + ecx]
lea edx, [edx + ecx*2]
movzx ecx, word [eax + esi - 2]
movzx eax, word [edi]
add ecx, eax
mov eax, dword [ebp - 0x141c]
shr ecx, 1
mov dword [ebp - 0x17e8], eax
lea eax, [ebp - 0x17ec]
mov word [edx], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [ebp - 0x17f4]
mov dword [ebp - 0x17f4], 1
push eax
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x17f0], edi
call fcn.1000e510
test eax, eax
jne 0x10005f4a
mov dword [ebp - 0x17fc], eax
lea ecx, [ebp - 0x1438]
lea eax, [edi + 1]
mov dword [ebp - 0x17f8], eax
lea eax, [ebp - 0x17fc]
push eax
call fcn.1000e510
test eax, eax
jne 0x10005f4a
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
push 1
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
call fcn.1000ea20
push 0
mov esi, dword [eax]
call fcn.1000ea20
movzx ecx, word [esi + edi]
mov dword [ebp - 0x1804], 0
mov eax, dword [eax]
movzx eax, word [edi + eax + 2]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1800], eax
lea eax, [ebp - 0x1804]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
mov dword [ebp - 0x180c], 0
mov dword [ebp - 0x1808], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x180c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10005fc2
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push 0
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x1814], 0
mov eax, dword [eax]
mov ax, word [edi + eax - 2]
mov word [esi + edi], ax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1810], eax
lea eax, [ebp - 0x1814]
push eax
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x181c], 0
lea eax, [ebp - 0x181c]
mov dword [ebp - 0x1818], edi
jmp 0x10006c68
lea eax, [edx - 1]
cmp esi, eax
jne 0x100062e8
lea eax, [edi - 1]
test eax, eax
js 0x100062e8
lea eax, [edi + 1]
cmp eax, ecx
jge 0x100062e8
mov dword [ebp - 0x1820], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1824]
mov dword [ebp - 0x1824], esi
push eax
call fcn.1000e510
test eax, eax
jne 0x100060c4
lea eax, [edi - 1]
mov dword [ebp - 0x182c], esi
mov dword [ebp - 0x1828], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x182c]
push eax
call fcn.1000e510
test eax, eax
jne 0x100060c4
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push esi
mov edi, dword [eax]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
mov eax, dword [eax]
lea edx, [ecx + ecx]
movzx ecx, word [edx + edi + 2]
movzx eax, word [edx + eax - 2]
add ecx, eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1834], eax
mov eax, dword [ebp - 0x141c]
shr ecx, 1
mov dword [ebp - 0x1830], eax
lea eax, [ebp - 0x1834]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x1838], edi
mov dword [ebp - 0x183c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x183c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006186
lea eax, [edi - 1]
mov dword [ebp - 0x1844], esi
mov dword [ebp - 0x1840], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1844]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006186
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
push esi
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
call fcn.1000ea20
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
mov eax, dword [eax]
movzx ecx, word [eax + edi]
movzx eax, word [edi + esi - 2]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x184c], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1848], eax
lea eax, [ebp - 0x184c]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x1850], edi
mov dword [ebp - 0x1854], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1854]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006257
lea eax, [edi + 1]
mov dword [ebp - 0x185c], esi
mov dword [ebp - 0x1858], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x185c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006257
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edi, dword [eax]
lea eax, [esi - 1]
push eax
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1420]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
mov edx, dword [eax]
lea eax, [ecx + ecx]
movzx eax, word [eax + edi - 2]
lea edx, [edx + ecx*2]
movzx ecx, word [esi]
add ecx, eax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1864], eax
mov eax, dword [ebp - 0x141c]
shr ecx, 1
mov dword [ebp - 0x1860], eax
lea eax, [ebp - 0x1864]
mov word [edx], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
mov dword [ebp - 0x186c], esi
mov dword [ebp - 0x1868], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x186c]
push eax
call fcn.1000e510
test eax, eax
jne 0x100062d1
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1420]
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
mov ax, word [edi + esi - 2]
mov word [ecx + edi], ax
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x1874], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1870], eax
lea eax, [ebp - 0x1874]
push eax
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x187c], esi
lea eax, [ebp - 0x187c]
mov dword [ebp - 0x1878], edi
jmp 0x10006c68
lea eax, [ecx - 1]
cmp edi, eax
jne 0x10006611
test esi, esi
jle 0x10006611
lea eax, [esi + 1]
mov dword [ebp - 0x1448], eax
cmp eax, edx
jge 0x10006611
lea eax, [esi - 1]
mov dword [ebp - 0x1880], edi
mov dword [ebp - 0x1884], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1884]
push eax
call fcn.1000e510
test eax, eax
jne 0x100063dd
lea eax, [esi + 1]
mov dword [ebp - 0x1888], edi
mov dword [ebp - 0x188c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x188c]
push eax
call fcn.1000e510
test eax, eax
jne 0x100063dd
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea ecx, [edi + edi]
push esi
mov edi, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1448]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
movzx ecx, word [edi]
mov dword [ebp - 0x1890], edx
mov eax, dword [eax]
lea eax, [eax + edx*2]
movzx eax, word [eax]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov dword [ebp - 0x1894], eax
lea eax, [ebp - 0x1894]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
mov dword [ebp - 0x189c], esi
mov dword [ebp - 0x1898], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x189c]
push eax
call fcn.1000e510
test eax, eax
jne 0x100064bb
lea eax, [esi - 1]
mov dword [ebp - 0x18a0], edi
mov dword [ebp - 0x18a4], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x18a4]
push eax
call fcn.1000e510
test eax, eax
jne 0x100064bb
lea edi, [esi - 1]
push edi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
add ecx, ecx
push esi
mov eax, dword [eax]
add eax, ecx
lea ecx, [ebp - 0x142c]
mov dword [ebp - 0x1448], eax
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push edi
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
mov dword [ebp - 0x18a8], edx
mov eax, dword [eax]
movzx ecx, word [eax + edx*2]
lea eax, [eax + edx*2]
mov eax, dword [ebp - 0x1448]
movzx eax, word [eax]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov dword [ebp - 0x18ac], eax
lea eax, [ebp - 0x18ac]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [edi - 1]
mov dword [ebp - 0x18b4], esi
mov dword [ebp - 0x18b0], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x18b4]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000657e
lea eax, [esi + 1]
mov dword [ebp - 0x18b8], edi
mov dword [ebp - 0x18bc], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x18bc]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000657e
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
lea eax, [esi + 1]
push eax
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
call fcn.1000ea20
mov eax, dword [eax]
movzx ecx, word [edi + eax - 2]
movzx eax, word [esi + edi]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x18c4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x18c0], eax
lea eax, [ebp - 0x18c4]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x18c8], edi
mov dword [ebp - 0x18cc], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x18cc]
push eax
call fcn.1000e510
test eax, eax
jne 0x100065fa
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea esi, [edi + edi]
mov edi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
lea ecx, [ebp - 0x1438]
mov eax, dword [eax]
mov ax, word [eax + esi]
mov word [edi + esi], ax
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x18d4], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x18d0], eax
lea eax, [ebp - 0x18d4]
push eax
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x18dc], esi
lea eax, [ebp - 0x18dc]
mov dword [ebp - 0x18d8], edi
jmp 0x10006c68
test edi, edi
jne 0x100068d0
test esi, esi
jle 0x100068d2
lea eax, [esi + 1]
cmp eax, edx
jge 0x10006a99
mov dword [ebp - 0x18e4], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x18e4]
mov dword [ebp - 0x18e0], edi
push eax
call fcn.1000e510
test eax, eax
jne 0x100066d9
lea eax, [esi - 1]
mov dword [ebp - 0x18e8], edi
mov dword [ebp - 0x18ec], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x18ec]
push eax
call fcn.1000e510
test eax, eax
jne 0x100066d9
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push esi
mov edi, dword [eax]
call fcn.1000ea20
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
mov dword [ebp - 0x18f0], 0
mov eax, dword [eax]
movzx ecx, word [eax]
movzx eax, word [edi]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov dword [ebp - 0x18f4], eax
lea eax, [ebp - 0x18f4]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [ebp - 0x18fc]
mov dword [ebp - 0x18fc], esi
push eax
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x18f8], 1
call fcn.1000e510
test eax, eax
jne 0x1000678c
lea eax, [esi - 1]
mov dword [ebp - 0x1900], 0
mov dword [ebp - 0x1904], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1904]
push eax
call fcn.1000e510
test eax, eax
jne 0x1000678c
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push esi
mov edi, dword [eax]
call fcn.1000ea20
mov esi, dword [eax]
mov eax, dword [ebp - 0x1420]
dec eax
push eax
call fcn.1000ea20
mov dword [ebp - 0x1908], 0
mov eax, dword [eax]
movzx ecx, word [eax]
movzx eax, word [esi + 2]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov dword [ebp - 0x190c], eax
lea eax, [ebp - 0x190c]
mov word [edi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [ebp - 0x1914]
mov dword [ebp - 0x1914], esi
push eax
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x1910], 1
call fcn.1000e510
test eax, eax
jne 0x10006840
lea eax, [esi + 1]
mov dword [ebp - 0x1598], 0
mov dword [ebp - 0x159c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x159c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006840
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push esi
mov edi, dword [eax]
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
call fcn.1000ea20
mov dword [ebp - 0x15a0], 0
mov eax, dword [eax]
movzx ecx, word [eax + 2]
movzx eax, word [edi]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov dword [ebp - 0x15a4], eax
lea eax, [ebp - 0x15a4]
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
call fcn.1000e560
jmp 0x10006c74
lea eax, [esi - 1]
mov dword [ebp - 0x15a8], 0
mov dword [ebp - 0x15ac], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x15ac]
push eax
call fcn.1000e510
test eax, eax
jne 0x100068b5
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edi, dword [ebp - 0x1420]
mov esi, dword [eax]
lea eax, [edi - 1]
push eax
call fcn.1000ea20
lea ecx, [ebp - 0x1438]
mov eax, dword [eax]
mov ax, word [eax]
mov word [esi], ax
lea eax, [ebp - 0x15b4]
push eax
mov dword [ebp - 0x15b4], edi
mov dword [ebp - 0x15b0], 0
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x15bc], esi
lea eax, [ebp - 0x15bc]
mov dword [ebp - 0x15b8], 0
jmp 0x10006c68
test esi, esi
jne 0x10006a99
test edi, edi
jne 0x100069a9
lea eax, [ebp - 0x15c4]
mov dword [ebp - 0x15c4], edi
push eax
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x15c0], 1
call fcn.1000e510
test eax, eax
jne 0x1000698a
mov dword [ebp - 0x15c8], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x15cc]
mov dword [ebp - 0x15cc], 1
push eax
call fcn.1000e510
test eax, eax
jne 0x1000698a
push 1
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push 0
mov edi, dword [eax]
call fcn.1000ea20
push 0
mov esi, dword [eax]
call fcn.1000ea20
movzx ecx, word [edi]
mov edx, dword [eax]
movzx eax, word [esi + 2]
add ecx, eax
lea eax, [ebp - 0x1644]
shr ecx, 1
mov word [edx], cx
lea ecx, [ebp - 0x1438]
push eax
mov dword [ebp - 0x1644], 0
mov dword [ebp - 0x1640], 0
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x15d4], 0
lea eax, [ebp - 0x15d4]
mov dword [ebp - 0x15d0], 0
jmp 0x10006c68
lea eax, [ecx - 1]
cmp edi, eax
jne 0x10006a99
lea eax, [ebp - 0x15dc]
mov dword [ebp - 0x15dc], 1
push eax
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x15d8], edi
call fcn.1000e510
test eax, eax
jne 0x10006a7e
lea eax, [edi - 1]
mov dword [ebp - 0x15e4], 0
mov dword [ebp - 0x15e0], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x15e4]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006a7e
push 1
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea ecx, [edi + edi]
push 0
mov edi, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push 0
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
movzx ecx, word [edi]
mov eax, dword [eax]
movzx eax, word [eax + edx*2 - 2]
add ecx, eax
lea eax, [ebp - 0x15ec]
shr ecx, 1
mov word [esi], cx
lea ecx, [ebp - 0x1438]
push eax
mov dword [ebp - 0x15ec], 0
mov dword [ebp - 0x15e8], edx
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x15f4], 0
lea eax, [ebp - 0x15f4]
mov dword [ebp - 0x15f0], edi
jmp 0x10006c68
lea eax, [edx - 1]
cmp esi, eax
jne 0x10006c56
test edi, edi
jne 0x10006b77
lea eax, [esi - 1]
mov dword [ebp - 0x15f8], edi
mov dword [ebp - 0x15fc], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x15fc]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006b5c
lea eax, [ebp - 0x1604]
mov dword [ebp - 0x1604], esi
push eax
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x1600], 1
call fcn.1000e510
test eax, eax
jne 0x10006b5c
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edi, dword [eax]
lea eax, [esi - 1]
push eax
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
call fcn.1000ea20
movzx ecx, word [esi]
mov eax, dword [eax]
movzx eax, word [eax + 2]
add ecx, eax
mov eax, dword [ebp - 0x1420]
shr ecx, 1
mov word [edi], cx
lea ecx, [ebp - 0x1438]
mov dword [ebp - 0x160c], eax
lea eax, [ebp - 0x160c]
push eax
mov dword [ebp - 0x1608], 0
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x1614], esi
lea eax, [ebp - 0x1614]
mov dword [ebp - 0x1610], 0
jmp 0x10006c68
lea eax, [ecx - 1]
cmp edi, eax
jne 0x10006c56
lea eax, [esi - 1]
mov dword [ebp - 0x1618], edi
mov dword [ebp - 0x161c], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x161c]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006c42
lea eax, [edi - 1]
mov dword [ebp - 0x1624], esi
mov dword [ebp - 0x1620], eax
lea ecx, [ebp - 0x1438]
lea eax, [ebp - 0x1624]
push eax
call fcn.1000e510
test eax, eax
jne 0x10006c42
push esi
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
add edi, edi
mov eax, dword [eax]
add eax, edi
mov dword [ebp - 0x1448], eax
lea eax, [esi - 1]
push eax
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
call fcn.1000ea20
mov eax, dword [eax]
movzx ecx, word [edi + eax - 2]
movzx eax, word [esi + edi]
add ecx, eax
mov eax, dword [ebp - 0x1448]
shr ecx, 1
mov word [eax], cx
lea ecx, [ebp - 0x1438]
mov eax, dword [ebp - 0x1420]
mov dword [ebp - 0x162c], eax
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1628], eax
lea eax, [ebp - 0x162c]
push eax
call fcn.1000e560
jmp 0x10006c74
mov dword [ebp - 0x1634], esi
lea eax, [ebp - 0x1634]
mov dword [ebp - 0x1630], edi
jmp 0x10006c68
mov dword [ebp - 0x163c], esi
lea eax, [ebp - 0x163c]
mov dword [ebp - 0x1638], edi
push eax
lea ecx, [ebp - 0x1490]
call fcn.1000e770
lea ecx, [ebp - 0x14fc]
call fcn.1000f430
mov eax, dword [ebp - 0x14fc]
cmp eax, dword [ebp - 0x14f0]
jne 0x10005180
push dword [ebp - 0x14d0]
lea ecx, [ebp - 0x1460]
push dword [ebp - 0x14d4]
call fcn.10010eb0
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x1460]
mov esi, dword [eax]
mov dword [ebp - 0x1440], esi
cmp esi, eax
je 0x100078c3
mov edi, dword [ebp - 0x143c]
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1420], eax
lea ecx, [eax + 1]
mov dword [ebp - 0x1450], ecx
lea ecx, [eax + 2]
mov dword [ebp - 0x1468], ecx
lea ecx, [eax + 3]
mov dword [ebp - 0x146c], ecx
test eax, eax
jle 0x1000758b
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1ba8]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x10006f4a
mov ecx, dword [ebp - 0x1450]
cmp ecx, dword [eax + 0x10]
jl 0x10006f4a
lea eax, [ebp - 0x1468]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
je 0x10006f4a
lea eax, [ebp - 0x146c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
jne 0x10006f4a
mov eax, dword [ebp - 0x144c]
dec eax
cmp dword [ebp - 0x1468], eax
je 0x10006f4a
mov dword [ebp - 0x141c], 0
test edi, edi
jle 0x10006edf
mov eax, dword [ebp - 0x1420]
dec eax
mov dword [ebp - 0x1430], eax
nop word [eax + eax]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x146c]
add ecx, ecx
mov edi, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1420]
mov esi, dword [eax]
mov eax, dword [ebp - 0x141c]
lea esi, [esi + eax*2]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1430]
mov edx, dword [eax]
movzx eax, word [edi]
lea edx, [edx + ecx*2]
movzx ecx, word [esi]
add ecx, eax
shr ecx, 1
mov word [edx], cx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x146c]
mov edi, dword [eax]
lea edi, [edi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1450]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1430]
mov edx, dword [eax]
movzx eax, word [edi]
lea edx, [edx + ecx*2]
movzx ecx, word [esi]
add ecx, eax
shr ecx, 1
mov word [edx], cx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1468]
mov edi, dword [eax]
lea edi, [edi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x146c]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
movzx ecx, word [edi]
mov eax, dword [eax]
lea eax, [eax + edx*2]
inc edx
movzx eax, word [eax]
add ecx, eax
mov dword [ebp - 0x141c], edx
shr ecx, 1
mov word [esi], cx
cmp edx, dword [ebp - 0x143c]
jge 0x10006ed3
mov eax, dword [ebp - 0x1430]
jmp 0x10006da0
mov esi, dword [ebp - 0x1440]
mov edi, dword [ebp - 0x143c]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x1918]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x191c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x1920]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
jmp 0x100078b1
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1b24]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100070f5
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ecx + 0x10]
jl 0x100070f5
lea eax, [ebp - 0x1468]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
je 0x100070f5
lea eax, [ebp - 0x146c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
jne 0x100070f5
mov eax, dword [ebp - 0x144c]
dec eax
cmp dword [ebp - 0x1468], eax
jne 0x100070f5
xor edi, edi
mov dword [ebp - 0x141c], edi
cmp dword [ebp - 0x143c], edi
jle 0x10007084
mov eax, dword [ebp - 0x1420]
lea ecx, [eax - 1]
mov dword [ebp - 0x1430], ecx
nop dword [eax]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1430]
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
push dword [ebp - 0x1430]
mov eax, dword [eax]
movzx eax, word [eax + edi]
mov word [esi + edi], ax
call fcn.1000ea20
push dword [ebp - 0x1450]
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
movzx eax, word [esi + edi]
mov word [ecx + edi], ax
lea ecx, [ebp - 0x142c]
push dword [ebp - 0x1468]
call fcn.1000ea20
push dword [ebp - 0x1430]
mov esi, dword [eax]
call fcn.1000ea20
mov eax, dword [eax]
movzx eax, word [eax + edi]
mov word [esi + edi], ax
mov edi, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x1420]
inc edi
mov dword [ebp - 0x141c], edi
cmp edi, dword [ebp - 0x143c]
jl 0x10006ff0
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x1924]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x1928]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x192c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov edi, dword [ebp - 0x143c]
jmp 0x100078b1
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1b9c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100072ab
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ecx + 0x10]
jl 0x100072ab
lea eax, [ebp - 0x1468]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
jne 0x100072ab
mov eax, dword [ebp - 0x144c]
dec eax
cmp dword [ebp - 0x1450], eax
je 0x100072ab
xor edi, edi
mov dword [ebp - 0x141c], edi
cmp dword [ebp - 0x143c], edi
jle 0x1000725e
mov esi, dword [ebp - 0x1420]
lea eax, [esi - 1]
mov dword [ebp - 0x1430], eax
nop word [eax + eax]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
lea ecx, [edi + edi]
push esi
mov edi, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1468]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
mov eax, dword [eax]
movzx ecx, word [eax + edx*2]
lea eax, [eax + edx*2]
movzx eax, word [edi]
add ecx, eax
shr ecx, 1
mov word [esi], cx
lea ecx, [ebp - 0x142c]
push dword [ebp - 0x1450]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1468]
mov edi, dword [eax]
lea edi, [edi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov ecx, dword [ebp - 0x141c]
push dword [ebp - 0x1430]
mov esi, dword [eax]
lea esi, [esi + ecx*2]
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
mov edx, dword [ebp - 0x141c]
mov eax, dword [eax]
movzx ecx, word [eax + edx*2]
lea eax, [eax + edx*2]
movzx eax, word [esi]
add ecx, eax
shr ecx, 1
mov word [edi], cx
mov edi, edx
inc edi
mov dword [ebp - 0x141c], edi
cmp edi, dword [ebp - 0x143c]
jge 0x10007258
mov esi, dword [ebp - 0x1420]
mov eax, dword [ebp - 0x1430]
jmp 0x10007180
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x1930]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x1934]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov edi, dword [ebp - 0x143c]
jmp 0x100078b1
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1bd8]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100073e5
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ecx + 0x10]
jl 0x100073e5
lea eax, [ebp - 0x1468]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
jne 0x100073e5
mov eax, dword [ebp - 0x144c]
dec eax
cmp dword [ebp - 0x1450], eax
jne 0x100073e5
xor edi, edi
mov dword [ebp - 0x141c], edi
cmp dword [ebp - 0x143c], edi
jle 0x10007398
mov eax, dword [ebp - 0x1420]
lea ecx, [eax - 1]
mov dword [ebp - 0x1430], ecx
nop dword [eax]
push eax
lea ecx, [ebp - 0x142c]
call fcn.1000ea20
push dword [ebp - 0x1430]
add edi, edi
mov esi, dword [eax]
call fcn.1000ea20
mov eax, dword [eax]
movzx eax, word [eax + edi]
mov word [esi + edi], ax
push dword [ebp - 0x1450]
call fcn.1000ea20
push dword [ebp - 0x1430]
mov esi, dword [eax]
call fcn.1000ea20
mov eax, dword [eax]
movzx eax, word [eax + edi]
mov word [esi + edi], ax
mov edi, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x1420]
inc edi
mov dword [ebp - 0x141c], edi
cmp edi, dword [ebp - 0x143c]
jl 0x10007330
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x1938]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x193c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov edi, dword [ebp - 0x143c]
jmp 0x100078b1
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1bb4]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007416
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ecx + 0x10]
jge 0x100074dd
mov eax, dword [ebp - 0x144c]
mov ecx, dword [ebp - 0x1420]
dec eax
cmp ecx, eax
je 0x100074dd
mov edi, dword [ebp - 0x143c]
xor edx, edx
mov dword [ebp - 0x141c], edx
test edi, edi
jle 0x1000749f
lea esi, [ecx + ecx*2]
shl esi, 2
mov dword [ebp - 0x1430], esi
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea ecx, [edx + edx]
mov edx, dword [ebp - 0x1430]
mov edi, dword [ebp - 0x1430]
mov esi, dword [eax + esi]
mov edx, dword [eax + edx - 0xc]
add esi, ecx
mov eax, dword [eax + edi + 0xc]
add edx, ecx
movzx ecx, word [eax + ecx]
movzx eax, word [edx]
mov edx, dword [ebp - 0x141c]
add ecx, eax
shr ecx, 1
inc edx
mov word [esi], cx
mov esi, edi
mov dword [ebp - 0x141c], edx
cmp edx, dword [ebp - 0x143c]
jl 0x10007450
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
mov dword [ebp - 0x1578], esi
lea ecx, [ebp - 0x1578]
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1460]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov edi, dword [ebp - 0x143c]
add esp, 8
jmp 0x100078b1
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1bc0]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000750e
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ecx + 0x10]
jge 0x100078a6
mov eax, dword [ebp - 0x144c]
mov ecx, dword [ebp - 0x1420]
dec eax
cmp ecx, eax
jne 0x100078a6
mov edi, dword [ebp - 0x143c]
xor edx, edx
mov dword [ebp - 0x1430], edx
test edi, edi
jle 0x1000756f
lea esi, [ecx + ecx*2]
nop dword [eax + eax]
mov eax, dword [ebp - 0x142c]
lea ecx, [edx + edx]
mov edx, dword [eax + esi*4]
mov eax, dword [eax + esi*4 - 0xc]
mov ax, word [eax + ecx]
mov word [edx + ecx], ax
mov edx, dword [ebp - 0x1430]
inc edx
mov dword [ebp - 0x1430], edx
cmp edx, edi
jl 0x10007540
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
mov dword [ebp - 0x1574], esi
lea ecx, [ebp - 0x1574]
jmp 0x10007888
jne 0x100078a6
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1bcc]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007708
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ecx + 0x10]
jl 0x10007708
lea eax, [ebp - 0x1468]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
je 0x10007708
lea eax, [ebp - 0x146c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
jne 0x10007708
mov dword [ebp - 0x1430], eax
cmp dword [ebp - 0x143c], eax
jle 0x1000768f
nop dword [eax]
lea edi, [eax + eax]
mov eax, dword [ebp - 0x142c]
push 3
lea ecx, [ebp - 0x142c]
mov esi, dword [eax]
call fcn.1000ea20
push 3
mov eax, dword [eax]
movzx eax, word [eax + edi]
mov word [esi + edi], ax
call fcn.1000ea20
push dword [ebp - 0x1450]
mov esi, dword [eax]
call fcn.1000ea20
mov ecx, dword [eax]
movzx eax, word [esi + edi]
mov word [ecx + edi], ax
lea ecx, [ebp - 0x142c]
push dword [ebp - 0x1468]
call fcn.1000ea20
push 3
mov esi, dword [eax]
call fcn.1000ea20
mov eax, dword [eax]
movzx eax, word [eax + edi]
mov word [esi + edi], ax
mov eax, dword [ebp - 0x1430]
inc eax
mov dword [ebp - 0x1430], eax
cmp eax, dword [ebp - 0x143c]
jl 0x10007610
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
push esi
lea eax, [ebp - 0x194c]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca70
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
lea ecx, [ebp - 0x1558]
mov dword [ebp - 0x1558], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1460]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x1554], esi
lea ecx, [ebp - 0x1554]
jmp 0x100074b6
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x1aac]
push eax
lea ecx, [ebp - 0x1460]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000781e
mov eax, dword [ebp - 0x1450]
cmp eax, dword [ecx + 0x10]
jl 0x1000781e
lea eax, [ebp - 0x1468]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
jne 0x1000781e
mov edi, dword [ebp - 0x143c]
mov dword [ebp - 0x1430], eax
test edi, edi
jle 0x100077cc
nop word [eax + eax]
mov ecx, dword [ebp - 0x142c]
lea esi, [eax + eax]
mov eax, dword [ebp - 0x1468]
mov edx, dword [ecx]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*4]
movzx eax, word [eax + esi]
mov word [edx + esi], ax
mov eax, dword [ebp - 0x1450]
mov ecx, dword [ebp - 0x142c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x1468]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*4]
movzx eax, word [eax + esi]
mov word [edx + esi], ax
mov eax, dword [ebp - 0x1430]
inc eax
mov dword [ebp - 0x1430], eax
cmp eax, edi
jl 0x10007770
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
lea ecx, [ebp - 0x1550]
mov dword [ebp - 0x1550], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1460]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x154c], esi
lea ecx, [ebp - 0x154c]
jmp 0x10007888
lea eax, [ebp - 0x1450]
push eax
lea ecx, [ebp - 0x1460]
call fcn.1000ca30
test eax, eax
jne 0x100078a6
mov edi, dword [ebp - 0x143c]
mov dword [ebp - 0x1430], eax
test edi, edi
jle 0x10007871
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x142c]
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
mov ax, word [eax + ecx]
mov word [edx + ecx], ax
mov eax, dword [ebp - 0x1430]
inc eax
mov dword [ebp - 0x1430], eax
cmp eax, edi
jl 0x10007844
mov esi, dword [ebp - 0x1440]
lea ecx, [ebp - 0x1440]
call fcn.1000f430
mov dword [ebp - 0x1590], esi
lea ecx, [ebp - 0x1590]
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1460]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
add esp, 8
jmp 0x100078b1
lea ecx, [ebp - 0x1440]
call fcn.1000f430
mov esi, dword [ebp - 0x1440]
cmp esi, dword [ebp - 0x1460]
jne 0x10006cd0
push dword [ebp - 0x14a4]
lea ecx, [ebp - 0x1458]
push dword [ebp - 0x14a8]
call fcn.10010eb0
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x1458]
mov esi, dword [eax]
mov dword [ebp - 0x1444], esi
cmp esi, eax
je 0x100082d1
mov edi, dword [esi + 0x10]
lea eax, [edi + 1]
mov dword [ebp - 0x1470], eax
lea eax, [edi + 2]
mov dword [ebp - 0x1474], eax
lea eax, [edi + 3]
mov dword [ebp - 0x1464], eax
test edi, edi
jle 0x10007fad
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1ab8]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x10007ac6
lea ecx, [edi + 1]
cmp ecx, dword [eax + 0x10]
jl 0x10007ac6
lea eax, [ebp - 0x1474]
push eax
lea eax, [ebp - 0x1ac4]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007ac6
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jl 0x10007ac6
lea eax, [ebp - 0x1464]
push eax
lea eax, [ebp - 0x1ad0]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100079ac
lea eax, [edi + 3]
cmp eax, dword [ecx + 0x10]
jge 0x10007ac6
mov eax, dword [ebp - 0x143c]
lea ecx, [edi + 2]
dec eax
cmp ecx, eax
je 0x10007ac6
mov eax, dword [ebp - 0x144c]
test eax, eax
jle 0x10007a38
xor esi, esi
mov dword [ebp - 0x1430], 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 + 6]
add ecx, eax
shr ecx, 1
mov word [edx + edi*2], cx
mov eax, dword [ebp - 0x142c]
mov edx, dword [eax + esi - 0xc]
movzx eax, word [edx + edi*2 + 6]
movzx ecx, word [edx + edi*2 - 2]
add ecx, eax
shr ecx, 1
mov word [edx + edi*2 + 2], cx
mov eax, dword [ebp - 0x142c]
mov edx, dword [eax + esi - 0xc]
movzx ecx, word [edx + edi*2 + 6]
movzx eax, word [edx + edi*2 - 2]
add ecx, eax
shr ecx, 1
sub dword [ebp - 0x1430], 1
mov word [edx + edi*2 + 4], cx
jne 0x100079d0
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
lea ecx, [ebp - 0x1594]
mov dword [ebp - 0x1594], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
lea ecx, [ebp - 0x1548]
mov dword [ebp - 0x1548], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x1544], esi
lea ecx, [ebp - 0x1544]
jmp 0x10008296
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1adc]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007c57
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jl 0x10007c57
lea eax, [ebp - 0x1474]
push eax
lea eax, [ebp - 0x1ae8]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007c57
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jl 0x10007c57
lea eax, [ebp - 0x1464]
push eax
lea eax, [ebp - 0x1af4]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007b58
lea eax, [edi + 3]
cmp eax, dword [ecx + 0x10]
jge 0x10007c57
mov eax, dword [ebp - 0x143c]
lea ecx, [edi + 2]
dec eax
cmp ecx, eax
jne 0x10007c57
mov eax, dword [ebp - 0x144c]
test eax, eax
jle 0x10007bc9
xor edx, edx
mov esi, eax
nop dword [eax + 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
mov eax, dword [ebp - 0x142c]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2 + 2], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2 + 4], ax
sub esi, 1
jne 0x10007b80
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
lea ecx, [ebp - 0x1540]
mov dword [ebp - 0x1540], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
lea ecx, [ebp - 0x153c]
mov dword [ebp - 0x153c], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x1570], esi
lea ecx, [ebp - 0x1570]
jmp 0x10008296
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1b00]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007d80
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jl 0x10007d80
lea eax, [ebp - 0x1474]
push eax
lea eax, [ebp - 0x1b0c]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007cb7
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jge 0x10007d80
mov eax, dword [ebp - 0x143c]
lea ecx, [edi + 1]
dec eax
cmp ecx, eax
je 0x10007d80
mov eax, dword [ebp - 0x144c]
test eax, eax
jle 0x10007d2b
xor esi, esi
mov dword [ebp - 0x1430], eax
nop dword [eax + 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 + 4]
add ecx, eax
shr ecx, 1
mov word [edx + edi*2], cx
mov eax, dword [ebp - 0x142c]
mov edx, dword [eax + esi - 0xc]
movzx ecx, word [edx + edi*2 - 2]
movzx eax, word [edx + edi*2 + 4]
add ecx, eax
shr ecx, 1
sub dword [ebp - 0x1430], 1
mov word [edx + edi*2 + 2], cx
jne 0x10007ce0
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
lea ecx, [ebp - 0x156c]
mov dword [ebp - 0x156c], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x1568], esi
lea ecx, [ebp - 0x1568]
jmp 0x10008296
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1b18]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007e8a
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jl 0x10007e8a
lea eax, [ebp - 0x1474]
push eax
lea eax, [ebp - 0x1b90]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007de0
lea eax, [edi + 2]
cmp eax, dword [ecx + 0x10]
jge 0x10007e8a
mov eax, dword [ebp - 0x143c]
lea ecx, [edi + 1]
dec eax
cmp ecx, eax
jne 0x10007e8a
mov eax, dword [ebp - 0x144c]
test eax, eax
jle 0x10007e35
xor edx, edx
mov esi, 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
mov eax, dword [ebp - 0x142c]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2 + 2], ax
sub esi, 1
jne 0x10007e00
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
lea ecx, [ebp - 0x1510]
mov dword [ebp - 0x1510], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x1514], esi
lea ecx, [ebp - 0x1514]
jmp 0x10008296
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1b30]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007eb4
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jge 0x10007f1b
mov eax, dword [ebp - 0x143c]
dec eax
cmp edi, eax
je 0x10007f1b
mov eax, dword [ebp - 0x144c]
test eax, eax
jle 0x10007eff
xor esi, esi
mov dword [ebp - 0x1430], eax
mov eax, dword [ebp - 0x142c]
lea esi, [esi + 0xc]
mov edx, dword [eax + esi - 0xc]
movzx ecx, word [edx + edi*2 + 2]
movzx eax, word [edx + edi*2 - 2]
add ecx, eax
shr ecx, 1
sub dword [ebp - 0x1430], 1
mov word [edx + edi*2], cx
jne 0x10007ed1
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
mov dword [ebp - 0x1518], esi
lea ecx, [ebp - 0x1518]
jmp 0x10008296
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1b3c]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10007f49
lea eax, [edi + 1]
cmp eax, dword [ecx + 0x10]
jge 0x100082b4
mov eax, dword [ebp - 0x143c]
dec eax
cmp edi, eax
jne 0x100082b4
mov eax, dword [ebp - 0x144c]
test eax, eax
jle 0x10007f91
xor edx, edx
mov esi, eax
nop word [eax + eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [eax + edx - 0xc]
mov ax, word [ecx + edi*2 - 2]
mov word [ecx + edi*2], ax
sub esi, 1
jne 0x10007f70
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
mov dword [ebp - 0x151c], esi
lea ecx, [ebp - 0x151c]
jmp 0x10008296
jne 0x100082b4
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1b48]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov edi, dword [ebp - 0x1470]
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x10008131
cmp edi, dword [eax + 0x10]
jl 0x10008131
lea eax, [ebp - 0x1474]
push eax
lea eax, [ebp - 0x1b54]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008131
mov eax, dword [ebp - 0x1474]
cmp eax, dword [ecx + 0x10]
jl 0x10008131
lea eax, [ebp - 0x1464]
push eax
lea eax, [ebp - 0x1b60]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1000804e
mov eax, dword [ebp - 0x1464]
cmp eax, dword [ecx + 0x10]
jge 0x10008131
mov edi, dword [ebp - 0x144c]
test edi, edi
jle 0x100080a3
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 + 6]
mov word [ecx], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + 6]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + 6]
mov word [ecx + 4], ax
sub edi, 1
jne 0x10008060
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
lea ecx, [ebp - 0x1520]
mov dword [ebp - 0x1520], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
lea ecx, [ebp - 0x1524]
mov dword [ebp - 0x1524], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x1528], esi
lea ecx, [ebp - 0x1528]
jmp 0x10008296
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1b6c]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x10008223
cmp edi, dword [eax + 0x10]
jl 0x10008223
lea eax, [ebp - 0x1474]
push eax
lea eax, [ebp - 0x1b78]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x10008191
mov eax, dword [ebp - 0x1474]
cmp eax, dword [ecx + 0x10]
jge 0x10008223
mov edi, dword [ebp - 0x144c]
test edi, edi
jle 0x100081d1
xor edx, edx
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + 4]
mov word [ecx], ax
mov eax, dword [ebp - 0x142c]
mov ecx, dword [eax + edx - 0xc]
movzx eax, word [ecx + 4]
mov word [ecx + 2], ax
sub edi, 1
jne 0x100081a0
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
lea ecx, [ebp - 0x152c]
mov dword [ebp - 0x152c], esi
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
add esp, 8
call fcn.1000f430
mov dword [ebp - 0x1530], esi
lea ecx, [ebp - 0x1530]
jmp 0x10008296
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1b84]
push eax
lea ecx, [ebp - 0x1458]
call fcn.10010fc0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x1000824a
cmp edi, dword [eax + 0x10]
jge 0x100082b4
mov edi, dword [ebp - 0x144c]
test edi, edi
jle 0x1000827f
xor edx, edx
nop word [eax + eax]
mov eax, dword [ebp - 0x142c]
lea edx, [edx + 0xc]
mov ecx, dword [eax + edx - 0xc]
mov ax, word [ecx + 2]
mov word [ecx], ax
sub edi, 1
jne 0x10008260
mov esi, dword [ebp - 0x1444]
lea ecx, [ebp - 0x1444]
call fcn.1000f430
mov dword [ebp - 0x1534], esi
lea ecx, [ebp - 0x1534]
call fcn.1000f430
push esi
lea ecx, [ebp - 0x1458]
call fcn.1000fff0
push 0x14
push eax
call fcn.100193f7
add esp, 8
jmp 0x100082bf
lea ecx, [ebp - 0x1444]
call fcn.1000f430
mov esi, dword [ebp - 0x1444]
cmp esi, dword [ebp - 0x1458]
jne 0x100078f4
mov esi, dword [ebp - 0x143c]
push ecx
push esi
lea ecx, [ebp - 0x19c0]
call fcn.1000ec60
mov edi, dword [ebp - 0x144c]
push ecx
push eax
push edi
lea ecx, [ebp - 0x19d8]
mov byte [ebp - 4], 0x18
call fcn.1000e8b0
lea ecx, [ebp - 0x19c0]
mov byte [ebp - 4], 0x1a
call fcn.1000e7b0
push dword [ebp - 0x14dc]
lea ecx, [ebp - 0x14e8]
push dword [ebp - 0x14e0]
call fcn.10010970
mov byte [ebp - 4], 0x1b
call fcn.10018c13
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 0x10008340
cmp dword [ebp - 0x1484], 0xe
movsd xmm3, qword [ebp - 0x1480]
movsd xmm2, qword [0x10045070]
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 - 0x1448], edx
jne 0x100083b1
addsd xmm1, qword [0x10045090]
divsd xmm1, xmm2
cvttsd2si edx, xmm1
mov dword [ebp - 0x1448], edx
mov ecx, dword [ebp - 0x14e8]
mov eax, edx
neg eax
mov dword [ebp - 0x1538], eax
mov eax, dword [ecx]
mov dword [ebp - 0x14f8], eax
cmp eax, ecx
je 0x100085b5
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov edi, dword [ebp - 0x142c]
mov dword [ebp - 0x14c4], ecx
mov dword [ebp - 0x1420], eax
lea ecx, [ecx + ecx*2]
lea esi, [eax + eax]
mov dword [ebp - 0x14b8], ecx
mov eax, dword [edi + ecx*4]
mov dword [ebp - 0x14f4], eax
mov dword [ebp - 0x147c], edi
mov dword [ebp - 0x141c], esi
movzx eax, word [eax + esi]
movd xmm0, eax
lea eax, [ebp - 0x1418]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm3
jb 0x100084d6
mov ecx, dword [ebp - 0x1538]
mov esi, 0x80000000
cmp ecx, 0x80000000
mov dword [ebp - 0x14c0], eax
lea eax, [ecx - 0x80000000]
lea edi, [ecx - 0x80000000]
cmovae edi, eax
lea ecx, [ebp - 0x14c0]
sub esi, edi
mov dword [ebp - 0x1430], edi
cmp esi, 0xffffffff
jne 0x10008468
call fcn.10016d90
mov ecx, eax
jmp 0x100084a9
inc esi
call fcn.10016d90
mul esi
mov dword [ebp - 0x14c8], eax
mov ecx, edx
cmp eax, esi
jae 0x100084a9
mov eax, esi
xor edx, edx
neg eax
div esi
mov edi, edx
cmp dword [ebp - 0x14c8], edi
jae 0x100084a3
nop
lea ecx, [ebp - 0x14c0]
call fcn.10016d90
mul esi
mov ecx, edx
cmp eax, edi
jb 0x10008490
mov edi, dword [ebp - 0x1430]
mov eax, dword [ebp - 0x14c4]
lea edx, [ecx + edi]
mov esi, dword [ebp - 0x141c]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x142c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1420]
mov ax, word [eax + ecx*2]
add ax, dx
jmp 0x10008579
mov dword [ebp - 0x14bc], eax
mov eax, edx
cmp edx, 0x80000000
jb 0x100084fa
cmp eax, 0xffffffff
jne 0x100084fa
lea ecx, [ebp - 0x14bc]
call fcn.10016d90
mov edi, eax
jmp 0x1000855d
inc eax
lea ecx, [ebp - 0x14bc]
mov dword [ebp - 0x1430], eax
call fcn.10016d90
mov ecx, dword [ebp - 0x1430]
mul ecx
mov dword [ebp - 0x14c4], eax
mov edi, edx
cmp eax, ecx
jae 0x1000855d
mov eax, ecx
xor edx, edx
neg eax
div ecx
mov eax, edx
mov dword [ebp - 0x14c8], eax
cmp dword [ebp - 0x14c4], eax
jae 0x1000855d
mov esi, ecx
nop word [eax + eax]
lea ecx, [ebp - 0x14bc]
call fcn.10016d90
mul esi
mov edi, edx
cmp eax, dword [ebp - 0x14c8]
jb 0x10008540
mov esi, dword [ebp - 0x141c]
mov ecx, dword [ebp - 0x147c]
mov eax, dword [ebp - 0x14b8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x1420]
mov ax, word [eax + ecx*2]
add ax, di
movzx ecx, ax
mov eax, dword [ebp - 0x14f4]
mov word [esi + eax], cx
lea ecx, [ebp - 0x14f8]
call fcn.1000f430
mov eax, dword [ebp - 0x14f8]
mov edx, dword [ebp - 0x1448]
cmp eax, dword [ebp - 0x14e8]
jne 0x100083d1
mov esi, dword [ebp - 0x143c]
mov edi, dword [ebp - 0x144c]
cmp edi, 0x71f
je 0x100085c9
cmp edi, 0x4ee
jne 0x10008774
push ecx
push esi
lea ecx, [ebp - 0x1564]
call fcn.1000ec60
push ecx
push eax
push edi
lea ecx, [ebp - 0x150c]
mov byte [ebp - 4], 0x1c
call fcn.1000e8b0
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x1564]
test ecx, ecx
je 0x1000864e
mov eax, dword [ebp - 0x155c]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x10008626
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df2
push edx
push ecx
call fcn.100193f7
add esp, 8
mov dword [ebp - 0x1564], 0
mov dword [ebp - 0x1560], 0
mov dword [ebp - 0x155c], 0
push ecx
lea edx, [ebp - 0x142c]
lea ecx, [ebp - 0x19cc]
call fcn.10003210
lea ecx, [ebp - 0x150c]
mov dword [ebp - 0x147c], eax
add esp, 4
cmp ecx, eax
je 0x100086ac
call fcn.1000fac0
mov edx, dword [ebp - 0x147c]
mov ecx, dword [edx]
mov dword [ebp - 0x150c], ecx
mov eax, dword [edx + 4]
mov dword [ebp - 0x1508], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x1504], eax
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
lea ecx, [ebp - 0x19cc]
call fcn.1000fac0
xor eax, eax
mov dword [ebp - 0x1430], eax
test esi, esi
jle 0x10008765
movsd xmm2, qword [0x100450f0]
movsd xmm3, qword [0x100450a8]
test edi, edi
jle 0x10008756
mov esi, dword [ebp - 0x1430]
xor edx, edx
mov dword [ebp - 0x147c], edi
nop dword [eax]
mov eax, dword [ebp - 0x150c]
mov ecx, dword [eax + edx]
lea eax, [esi*8]
add ecx, eax
mov eax, dword [ebp - 0x142c]
mov eax, dword [eax + edx]
movsd xmm1, qword [ecx]
mov dword [ebp - 0x147c], eax
movzx eax, word [eax + esi*2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
andps xmm0, xmm2
comisd xmm0, xmm3
jbe 0x1000873c
mov ecx, dword [ebp - 0x147c]
cvttsd2si eax, xmm1
mov word [ecx + esi*2], ax
add edx, 0xc
sub edi, 1
jne 0x100086f0
mov esi, dword [ebp - 0x143c]
mov edi, dword [ebp - 0x144c]
mov eax, dword [ebp - 0x1430]
inc eax
mov dword [ebp - 0x1430], eax
cmp eax, esi
jl 0x100086d7
lea ecx, [ebp - 0x150c]
mov byte [ebp - 4], 0x1b
call fcn.1000fac0
mov eax, esi
xor ecx, ecx
imul eax, edi
cmp eax, 0x2863c0
jne 0x10008791
mov dword [ebp - 0x141c], 0x8c
jmp 0x10008809
mov eax, esi
imul eax, edi
cmp eax, 0x8c3020
jne 0x100087a9
mov dword [ebp - 0x141c], 0x8c
jmp 0x10008809
mov eax, esi
imul eax, edi
cmp eax, 0x230ac0
jne 0x100087c1
mov dword [ebp - 0x141c], 0xd8
jmp 0x10008809
mov eax, esi
imul eax, edi
cmp eax, 0x230c08
jne 0x100087d9
mov dword [ebp - 0x141c], 0x46
jmp 0x10008809
mov eax, esi
imul eax, edi
cmp eax, 0x15cb608
jne 0x100087f1
mov dword [ebp - 0x141c], 0x8c
jmp 0x10008809
mov eax, esi
mov edx, 0x46
imul eax, edi
cmp eax, 0x572d82
cmove ecx, edx
mov dword [ebp - 0x141c], ecx
cmp dword [ebp - 0x1484], 0xc
jne 0x10008867
test edi, edi
jle 0x10008867
mov eax, edi
xor edi, edi
mov dword [ebp - 0x1484], eax
xor edx, edx
test esi, esi
jle 0x10008853
nop word [eax + eax]
mov eax, dword [ebp - 0x142c]
mov ecx, dword [eax + edi]
movzx eax, word [ecx + edx*2]
shr ax, 4
movzx eax, ax
mov word [ecx + edx*2], ax
inc edx
cmp edx, esi
jl 0x10008830
mov eax, dword [ebp - 0x1484]
add edi, 0xc
sub eax, 1
mov dword [ebp - 0x1484], eax
jne 0x10008820
mov edi, dword [ebp - 0x144c]
mov eax, esi
xor edx, edx
sub eax, dword [ebp - 0x141c]
mov dword [ebp - 0x141c], eax
cmp eax, esi
jge 0x10008954
lea esi, [edi + edi*2]
mov ecx, edi
shl esi, 2
mov dword [ebp - 0x1430], esi
mov esi, dword [ebp - 0x143c]
sub dword [ebp - 0x1430], 0xc
inc edx
dec ecx
mov dword [ebp - 0x14b8], edx
mov dword [ebp - 0x144c], ecx
test edx, edx
jle 0x100088ef
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x147c], eax
nop word [eax + eax]
mov eax, dword [ebp - 0x142c]
lea ecx, [ecx + 0xc]
xor esi, esi
mov eax, dword [eax + ecx - 0xc]
add eax, dword [ebp - 0x147c]
mov word [eax], si
sub edx, 1
jne 0x100088c0
mov esi, dword [ebp - 0x143c]
mov eax, dword [ebp - 0x141c]
mov ecx, dword [ebp - 0x144c]
cmp ecx, edi
jge 0x1000893f
mov ecx, dword [ebp - 0x1430]
mov edx, edi
sub edx, dword [ebp - 0x144c]
add eax, eax
mov dword [ebp - 0x147c], eax
nop dword [eax]
mov eax, dword [ebp - 0x142c]
lea ecx, [ecx + 0xc]
xor esi, esi
mov eax, dword [eax + ecx - 0xc]
add eax, dword [ebp - 0x147c]
mov word [eax], si
sub edx, 1
jne 0x10008910
mov esi, dword [ebp - 0x143c]
mov eax, dword [ebp - 0x141c]
mov ecx, dword [ebp - 0x144c]
mov edx, dword [ebp - 0x14b8]
inc eax
mov dword [ebp - 0x141c], eax
cmp eax, esi
jl 0x10008893
mov ecx, dword [ebp - 0x1500]
lea edx, [ebp - 0x142c]
push esi
push edi
call fcn.10003560
mov byte [ebp - 4], 0x1a
add esp, 8
mov eax, dword [ebp - 0x14e8]
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x100089a6
nop dword [eax]
push dword [esi + 8]
lea eax, [ebp - 0x14e8]
push eax
mov ecx, eax
call fcn.10011950
mov eax, esi
mov esi, dword [esi]
push 0x18
push eax
call fcn.100193f7
add esp, 8
cmp byte [esi + 0xd], 0
je 0x10008980
push 0x18
push dword [ebp - 0x14e8]
call fcn.100193f7
add esp, 8
lea ecx, [ebp - 0x19d8]
call fcn.1000fac0
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x1458]
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x10008a00
push dword [esi + 8]
lea eax, [ebp - 0x1458]
push eax
mov ecx, eax
call fcn.10013870
mov eax, esi
mov esi, dword [esi]
push 0x14
push eax
call fcn.100193f7
add esp, 8
cmp byte [esi + 0xd], 0
je 0x100089d4
mov eax, dword [ebp - 0x1458]
push 0x14
push eax
call fcn.100193f7
mov byte [ebp - 4], 0x15
add esp, 8
mov eax, dword [ebp - 0x1460]
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x10008a4c
nop
push dword [esi + 8]
lea eax, [ebp - 0x1460]
push eax
mov ecx, eax
call fcn.10013870
mov eax, esi
mov esi, dword [esi]
push 0x14
push eax
call fcn.100193f7
add esp, 8
cmp byte [esi + 0xd], 0
je 0x10008a20
mov eax, dword [ebp - 0x1460]
push 0x14
push eax
call fcn.100193f7
mov byte [ebp - 4], 0x14
add esp, 8
mov ecx, dword [ebp - 0x1490]
test ecx, ecx
je 0x10008abd
mov eax, dword [ebp - 0x1488]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x10008a95
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df7
push edx
push ecx
call fcn.100193f7
add esp, 8
mov dword [ebp - 0x1490], 0
mov dword [ebp - 0x148c], 0
mov dword [ebp - 0x1488], 0
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x1438]
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x10008afc
push dword [esi + 8]
lea eax, [ebp - 0x1438]
push eax
mov ecx, eax
call fcn.10011950
mov eax, esi
mov esi, dword [esi]
push 0x18
push eax
call fcn.100193f7
add esp, 8
cmp byte [esi + 0xd], 0
je 0x10008ad0
mov eax, dword [ebp - 0x1438]
push 0x18
push eax
call fcn.100193f7
mov byte [ebp - 4], 0x12
add esp, 8
mov eax, dword [ebp - 0x14f0]
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x10008b4c
nop word [eax + eax]
push dword [esi + 8]
lea eax, [ebp - 0x14f0]
push eax
mov ecx, eax
call fcn.10011950
mov eax, esi
mov esi, dword [esi]
push 0x18
push eax
call fcn.100193f7
add esp, 8
cmp byte [esi + 0xd], 0
je 0x10008b20
mov eax, dword [ebp - 0x14f0]
push 0x18
push eax
call fcn.100193f7
mov byte [ebp - 4], 8
add esp, 8
mov ecx, dword [ebp - 0x14e0]
test ecx, ecx
je 0x10008bbd
mov eax, dword [ebp - 0x14d8]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x10008b95
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df7
push edx
push ecx
call fcn.100193f7
add esp, 8
mov dword [ebp - 0x14e0], 0
mov dword [ebp - 0x14dc], 0
mov dword [ebp - 0x14d8], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10008bf5
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10008beb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df7
push ecx
push edx
call fcn.100193f7
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov eax, dword [ebp - 0x1aa0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1aa0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x1aa4], eax
lea ecx, [ebp - 0x1a90]
call fcn.1000def0
mov eax, dword [ebp - 0x1aa0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1aa0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x1aa4], eax
lea eax, [ebp - 0x1a30]
mov byte [ebp - 4], 0x1f
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.10018ad2
add esp, 4
lea ecx, [ebp - 0x142c]
call fcn.1000fb30
mov edx, dword [ebp - 0x14b4]
test edx, edx
je 0x10008ce3
mov ecx, dword [ebp - 0x14ac]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x10008cbb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df7
push ecx
push edx
call fcn.100193f7
add esp, 8
mov dword [ebp - 0x14b4], 0
mov dword [ebp - 0x14b0], 0
mov dword [ebp - 0x14ac], 0
mov edx, dword [ebp - 0x149c]
test edx, edx
je 0x10008d3e
mov ecx, dword [ebp - 0x1494]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x10008d16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df7
push ecx
push edx
call fcn.100193f7
add esp, 8
mov dword [ebp - 0x149c], 0
mov dword [ebp - 0x1498], 0
mov dword [ebp - 0x1494], 0
mov edx, dword [ebp - 0x14a8]
test edx, edx
je 0x10008d99
mov ecx, dword [ebp - 0x14a0]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10008d71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df7
push ecx
push edx
call fcn.100193f7
add esp, 8
mov dword [ebp - 0x14a8], 0
mov dword [ebp - 0x14a4], 0
mov dword [ebp - 0x14a0], 0
mov edx, dword [ebp - 0x14d4]
test edx, edx
je 0x10008dd2
mov ecx, dword [ebp - 0x14cc]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10008dc8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008df7
push ecx
push edx
call fcn.100193f7
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.100193e9
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.1001fd96
call fcn.1001fd96
int3