993001:	cc                   	int3
993002:	cc                   	int3
993003:	b8 04 e1 c5 00       	mov    $0xc5e104,%eax
993008:	c3                   	ret
993009:	55                   	push   %ebp
99300a:	8b ec                	mov    %esp,%ebp
99300c:	51                   	push   %ecx
99300d:	51                   	push   %ecx
99300e:	53                   	push   %ebx
99300f:	56                   	push   %esi
993010:	8b 75 08             	mov    0x8(%ebp),%esi
993013:	57                   	push   %edi
993014:	85 f6                	test   %esi,%esi
993016:	74 46                	je     0x99305e
993018:	56                   	push   %esi
993019:	bb c5 9d 1c 81       	mov    $0x811c9dc5,%ebx
99301e:	33 ff                	xor    %edi,%edi
993020:	e8 67 1b a8 ff       	call   0x414b8c
993025:	59                   	pop    %ecx
993026:	33 d2                	xor    %edx,%edx
993028:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
99302f:	8b c8                	mov    %eax,%ecx
993031:	f7 75 fc             	divl   -0x4(%ebp)
993034:	89 45 fc             	mov    %eax,-0x4(%ebp)
993037:	85 c9                	test   %ecx,%ecx
993039:	74 18                	je     0x993053
99303b:	8b d1                	mov    %ecx,%edx
99303d:	8b 45 fc             	mov    -0x4(%ebp),%eax
993040:	0f b7 0c 7e          	movzwl (%esi,%edi,2),%ecx
993044:	40                   	inc    %eax
993045:	69 db 93 01 00 01    	imul   $0x1000193,%ebx,%ebx
99304b:	03 f8                	add    %eax,%edi
99304d:	33 d9                	xor    %ecx,%ebx
99304f:	3b fa                	cmp    %edx,%edi
993051:	72 ea                	jb     0x99303d
993053:	5f                   	pop    %edi
993054:	5e                   	pop    %esi
993055:	8b c3                	mov    %ebx,%eax
993057:	5b                   	pop    %ebx
993058:	8b e5                	mov    %ebp,%esp
99305a:	5d                   	pop    %ebp
99305b:	c2 04 00             	ret    $0x4
99305e:	e8 03 ef a9 ff       	call   0x431f66
993063:	cc                   	int3
993064:	cc                   	int3
993065:	cc                   	int3
993066:	cc                   	int3
993067:	cc                   	int3
993068:	cc                   	int3
993069:	cc                   	int3
99306a:	cc                   	int3
99306b:	cc                   	int3
99306c:	cc                   	int3
99306d:	cc                   	int3
99306e:	cc                   	int3
99306f:	cc                   	int3
993070:	cc                   	int3
993071:	cc                   	int3
993072:	cc                   	int3
993073:	cc                   	int3
993074:	cc                   	int3
993075:	cc                   	int3
993076:	cc                   	int3
993077:	cc                   	int3
993078:	cc                   	int3
993079:	cc                   	int3
99307a:	55                   	push   %ebp
99307b:	8b ec                	mov    %esp,%ebp
99307d:	56                   	push   %esi
99307e:	8b 75 08             	mov    0x8(%ebp),%esi
993081:	57                   	push   %edi
993082:	8b f9                	mov    %ecx,%edi
993084:	85 f6                	test   %esi,%esi
993086:	75 03                	jne    0x99308b
993088:	6a 11                	push   $0x11
99308a:	5e                   	pop    %esi
99308b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
99308f:	74 0d                	je     0x99309e
993091:	ff 77 04             	push   0x4(%edi)
993094:	e8 79 b5 aa ff       	call   0x43e612
993099:	83 67 04 00          	andl   $0x0,0x4(%edi)
99309d:	59                   	pop    %ecx
99309e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
9930a2:	74 2a                	je     0x9930ce
9930a4:	33 c9                	xor    %ecx,%ecx
9930a6:	8b c6                	mov    %esi,%eax
9930a8:	6a 04                	push   $0x4
9930aa:	5a                   	pop    %edx
9930ab:	f7 e2                	mul    %edx
9930ad:	0f 90 c1             	seto   %cl
9930b0:	f7 d9                	neg    %ecx
9930b2:	0b c8                	or     %eax,%ecx
9930b4:	51                   	push   %ecx
9930b5:	e8 dd 26 aa ff       	call   0x435797
9930ba:	8b ce                	mov    %esi,%ecx
9930bc:	89 47 04             	mov    %eax,0x4(%edi)
9930bf:	c1 e1 02             	shl    $0x2,%ecx
9930c2:	51                   	push   %ecx
9930c3:	6a 00                	push   $0x0
9930c5:	50                   	push   %eax
9930c6:	e8 ed 16 a8 ff       	call   0x4147b8
9930cb:	83 c4 10             	add    $0x10,%esp
9930ce:	89 77 08             	mov    %esi,0x8(%edi)
9930d1:	5f                   	pop    %edi
9930d2:	5e                   	pop    %esi
9930d3:	5d                   	pop    %ebp
9930d4:	c2 08 00             	ret    $0x8
9930d7:	cc                   	int3
9930d8:	cc                   	int3
9930d9:	cc                   	int3
9930da:	cc                   	int3
9930db:	cc                   	int3
9930dc:	cc                   	int3
9930dd:	cc                   	int3
9930de:	cc                   	int3
9930df:	cc                   	int3
9930e0:	cc                   	int3
9930e1:	cc                   	int3
9930e2:	cc                   	int3
9930e3:	cc                   	int3
9930e4:	cc                   	int3
9930e5:	cc                   	int3
9930e6:	cc                   	int3
9930e7:	cc                   	int3
9930e8:	cc                   	int3
9930e9:	cc                   	int3
9930ea:	cc                   	int3
9930eb:	cc                   	int3
9930ec:	cc                   	int3
9930ed:	cc                   	int3
9930ee:	55                   	push   %ebp
9930ef:	8b ec                	mov    %esp,%ebp
9930f1:	51                   	push   %ecx
9930f2:	51                   	push   %ecx
9930f3:	8d 45 fc             	lea    -0x4(%ebp),%eax
9930f6:	50                   	push   %eax
9930f7:	8d 45 f8             	lea    -0x8(%ebp),%eax
9930fa:	50                   	push   %eax
9930fb:	ff 75 08             	push   0x8(%ebp)
9930fe:	e8 5b ec a9 ff       	call   0x431d5e
993103:	85 c0                	test   %eax,%eax
993105:	74 0b                	je     0x993112
993107:	8b 48 0c             	mov    0xc(%eax),%ecx
99310a:	8b 45 0c             	mov    0xc(%ebp),%eax
99310d:	89 08                	mov    %ecx,(%eax)
99310f:	33 c0                	xor    %eax,%eax
993111:	40                   	inc    %eax
993112:	8b e5                	mov    %ebp,%esp
993114:	5d                   	pop    %ebp
993115:	c2 08 00             	ret    $0x8
993118:	cc                   	int3
993119:	cc                   	int3
99311a:	cc                   	int3
99311b:	cc                   	int3
99311c:	cc                   	int3
99311d:	cc                   	int3
99311e:	cc                   	int3
99311f:	cc                   	int3
993120:	cc                   	int3
993121:	cc                   	int3
993122:	55                   	push   %ebp
993123:	8b ec                	mov    %esp,%ebp
993125:	51                   	push   %ecx
993126:	51                   	push   %ecx
993127:	8d 45 fc             	lea    -0x4(%ebp),%eax
99312a:	50                   	push   %eax
99312b:	8d 45 f8             	lea    -0x8(%ebp),%eax
99312e:	50                   	push   %eax
99312f:	ff 75 08             	push   0x8(%ebp)
993132:	e8 27 ec a9 ff       	call   0x431d5e
993137:	85 c0                	test   %eax,%eax
993139:	74 0b                	je     0x993146
99313b:	8b 48 08             	mov    0x8(%eax),%ecx
99313e:	8b 45 0c             	mov    0xc(%ebp),%eax
993141:	89 08                	mov    %ecx,(%eax)
993143:	33 c0                	xor    %eax,%eax
993145:	40                   	inc    %eax
993146:	8b e5                	mov    %ebp,%esp
993148:	5d                   	pop    %ebp
993149:	c2 08 00             	ret    $0x8
99314c:	cc                   	int3
99314d:	cc                   	int3
99314e:	cc                   	int3
99314f:	cc                   	int3
993150:	cc                   	int3
993151:	cc                   	int3
993152:	cc                   	int3
993153:	cc                   	int3
993154:	cc                   	int3
993155:	cc                   	int3
993156:	56                   	push   %esi
993157:	8b f1                	mov    %ecx,%esi
993159:	57                   	push   %edi
99315a:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
99315e:	75 30                	jne    0x993190
993160:	6a 10                	push   $0x10
993162:	ff 76 18             	push   0x18(%esi)
993165:	8d 46 14             	lea    0x14(%esi),%eax
993168:	50                   	push   %eax
993169:	e8 3e ff a7 ff       	call   0x4130ac
99316e:	8b 56 18             	mov    0x18(%esi),%edx
993171:	83 c0 08             	add    $0x8,%eax
993174:	8b ca                	mov    %edx,%ecx
993176:	c1 e1 04             	shl    $0x4,%ecx
993179:	83 c1 f0             	add    $0xfffffff0,%ecx
99317c:	03 c8                	add    %eax,%ecx
99317e:	eb 0b                	jmp    0x99318b
993180:	8b 46 10             	mov    0x10(%esi),%eax
993183:	89 01                	mov    %eax,(%ecx)
993185:	89 4e 10             	mov    %ecx,0x10(%esi)
993188:	83 e9 10             	sub    $0x10,%ecx
99318b:	83 ea 01             	sub    $0x1,%edx
99318e:	79 f0                	jns    0x993180
993190:	8b 7e 10             	mov    0x10(%esi),%edi
993193:	8b 07                	mov    (%edi),%eax
993195:	ff 46 0c             	incl   0xc(%esi)
993198:	89 46 10             	mov    %eax,0x10(%esi)
99319b:	8d 77 08             	lea    0x8(%edi),%esi
99319e:	85 f6                	test   %esi,%esi
9931a0:	74 0d                	je     0x9931af
9931a2:	e8 6e 34 aa ff       	call   0x436615
9931a7:	50                   	push   %eax
9931a8:	8b ce                	mov    %esi,%ecx
9931aa:	e8 65 6a a7 ff       	call   0x409c14
9931af:	83 67 0c 00          	andl   $0x0,0xc(%edi)
9931b3:	8b c7                	mov    %edi,%eax
9931b5:	5f                   	pop    %edi
9931b6:	5e                   	pop    %esi
9931b7:	c3                   	ret
9931b8:	cc                   	int3
9931b9:	cc                   	int3
9931ba:	cc                   	int3
9931bb:	cc                   	int3
9931bc:	cc                   	int3
9931bd:	cc                   	int3
9931be:	cc                   	int3
9931bf:	cc                   	int3
9931c0:	cc                   	int3
9931c1:	cc                   	int3
9931c2:	cc                   	int3
9931c3:	cc                   	int3
9931c4:	cc                   	int3
9931c5:	cc                   	int3
9931c6:	cc                   	int3
9931c7:	cc                   	int3
9931c8:	cc                   	int3
9931c9:	cc                   	int3
9931ca:	cc                   	int3
9931cb:	cc                   	int3
9931cc:	cc                   	int3
9931cd:	cc                   	int3
9931ce:	cc                   	int3
9931cf:	cc                   	int3
9931d0:	53                   	push   %ebx
9931d1:	56                   	push   %esi
9931d2:	8b f1                	mov    %ecx,%esi
9931d4:	33 db                	xor    %ebx,%ebx
9931d6:	39 5e 04             	cmp    %ebx,0x4(%esi)
9931d9:	74 37                	je     0x993212
9931db:	57                   	push   %edi
9931dc:	8b fb                	mov    %ebx,%edi
9931de:	39 5e 08             	cmp    %ebx,0x8(%esi)
9931e1:	76 22                	jbe    0x993205
9931e3:	8b 46 04             	mov    0x4(%esi),%eax
9931e6:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
9931e9:	eb 10                	jmp    0x9931fb
9931eb:	8d 4b 08             	lea    0x8(%ebx),%ecx
9931ee:	85 c9                	test   %ecx,%ecx
9931f0:	74 34                	je     0x993226
9931f2:	6a 00                	push   $0x0
9931f4:	e8 21 57 aa ff       	call   0x43891a
9931f9:	8b 1b                	mov    (%ebx),%ebx
9931fb:	85 db                	test   %ebx,%ebx
9931fd:	75 ec                	jne    0x9931eb
9931ff:	47                   	inc    %edi
993200:	3b 7e 08             	cmp    0x8(%esi),%edi
993203:	72 de                	jb     0x9931e3
993205:	ff 76 04             	push   0x4(%esi)
993208:	e8 05 b4 aa ff       	call   0x43e612
99320d:	59                   	pop    %ecx
99320e:	89 5e 04             	mov    %ebx,0x4(%esi)
993211:	5f                   	pop    %edi
993212:	8b 4e 14             	mov    0x14(%esi),%ecx
993215:	89 5e 0c             	mov    %ebx,0xc(%esi)
993218:	89 5e 10             	mov    %ebx,0x10(%esi)
99321b:	e8 4b 72 a7 ff       	call   0x40a46b
993220:	89 5e 14             	mov    %ebx,0x14(%esi)
993223:	5e                   	pop    %esi
993224:	5b                   	pop    %ebx
993225:	c3                   	ret
993226:	e8 3b ed a9 ff       	call   0x431f66
99322b:	cc                   	int3
99322c:	cc                   	int3
99322d:	cc                   	int3
99322e:	cc                   	int3
99322f:	cc                   	int3
993230:	cc                   	int3
993231:	cc                   	int3
993232:	cc                   	int3
993233:	cc                   	int3
993234:	cc                   	int3
993235:	cc                   	int3
993236:	cc                   	int3
993237:	cc                   	int3
993238:	cc                   	int3
993239:	cc                   	int3
99323a:	cc                   	int3
99323b:	cc                   	int3
99323c:	cc                   	int3
99323d:	cc                   	int3
99323e:	cc                   	int3
99323f:	cc                   	int3
993240:	cc                   	int3
993241:	cc                   	int3
993242:	cc                   	int3
993243:	55                   	push   %ebp
993244:	8b ec                	mov    %esp,%ebp
993246:	51                   	push   %ecx
993247:	57                   	push   %edi
993248:	8b f9                	mov    %ecx,%edi
99324a:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
99324e:	75 04                	jne    0x993254
993250:	33 c0                	xor    %eax,%eax
993252:	eb 44                	jmp    0x993298
993254:	53                   	push   %ebx
993255:	56                   	push   %esi
993256:	ff 75 08             	push   0x8(%ebp)
993259:	e8 54 53 a7 ff       	call   0x4085b2
99325e:	33 d2                	xor    %edx,%edx
993260:	89 45 fc             	mov    %eax,-0x4(%ebp)
993263:	f7 77 08             	divl   0x8(%edi)
993266:	8b 4f 04             	mov    0x4(%edi),%ecx
993269:	8d 1c 91             	lea    (%ecx,%edx,4),%ebx
99326c:	8b 33                	mov    (%ebx),%esi
99326e:	85 f6                	test   %esi,%esi
993270:	74 22                	je     0x993294
993272:	8b 45 fc             	mov    -0x4(%ebp),%eax
993275:	39 46 04             	cmp    %eax,0x4(%esi)
993278:	75 12                	jne    0x99328c
99327a:	ff 75 08             	push   0x8(%ebp)
99327d:	8d 4e 08             	lea    0x8(%esi),%ecx
993280:	e8 a5 fe a6 ff       	call   0x40312a
993285:	85 c0                	test   %eax,%eax
993287:	74 16                	je     0x99329f
993289:	8b 45 fc             	mov    -0x4(%ebp),%eax
99328c:	8b de                	mov    %esi,%ebx
99328e:	8b 36                	mov    (%esi),%esi
993290:	85 f6                	test   %esi,%esi
993292:	75 e1                	jne    0x993275
993294:	33 c0                	xor    %eax,%eax