418109:	8d 44 b0 04          	lea    0x4(%eax,%esi,4),%eax
41810d:	e8 da ad fe ff       	call   0x402eec
418112:	85 ff                	test   %edi,%edi
418114:	74 0b                	je     0x418121
418116:	b1 02                	mov    $0x2,%cl
418118:	8b d7                	mov    %edi,%edx
41811a:	8b c3                	mov    %ebx,%eax
41811c:	8b 18                	mov    (%eax),%ebx
41811e:	ff 53 04             	call   *0x4(%ebx)
418121:	5f                   	pop    %edi
418122:	5e                   	pop    %esi
418123:	5b                   	pop    %ebx
418124:	c3                   	ret
418125:	8d 40 00             	lea    0x0(%eax),%eax
418128:	8b 45 04             	mov    0x4(%ebp),%eax
41812b:	c3                   	ret
41812c:	53                   	push   %ebx
41812d:	56                   	push   %esi
41812e:	83 c4 f8             	add    $0xfffffff8,%esp
418131:	8b f1                	mov    %ecx,%esi
418133:	8b da                	mov    %edx,%ebx
418135:	e8 ee ff ff ff       	call   0x418128
41813a:	50                   	push   %eax
41813b:	89 74 24 04          	mov    %esi,0x4(%esp)
41813f:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
418144:	8d 44 24 04          	lea    0x4(%esp),%eax
418148:	50                   	push   %eax
418149:	6a 00                	push   $0x0
41814b:	8b cb                	mov    %ebx,%ecx
41814d:	b2 01                	mov    $0x1,%dl
41814f:	a1 78 5a 41 00       	mov    0x415a78,%eax
418154:	e8 f3 42 ff ff       	call   0x40c44c
418159:	e9 32 c0 fe ff       	jmp    0x404190
41815e:	59                   	pop    %ecx
41815f:	5a                   	pop    %edx
418160:	5e                   	pop    %esi
418161:	5b                   	pop    %ebx
418162:	c3                   	ret
418163:	90                   	nop
418164:	55                   	push   %ebp
418165:	8b ec                	mov    %esp,%ebp
418167:	6a 00                	push   $0x0
418169:	53                   	push   %ebx
41816a:	56                   	push   %esi
41816b:	8b f1                	mov    %ecx,%esi
41816d:	8b da                	mov    %edx,%ebx
41816f:	33 c0                	xor    %eax,%eax
418171:	55                   	push   %ebp
418172:	68 ac 81 41 00       	push   $0x4181ac
418177:	64 ff 30             	push   %fs:(%eax)
41817a:	64 89 20             	mov    %esp,%fs:(%eax)
41817d:	8d 55 fc             	lea    -0x4(%ebp),%edx
418180:	8b c3                	mov    %ebx,%eax
418182:	e8 ed e4 fe ff       	call   0x406674
418187:	8b 55 fc             	mov    -0x4(%ebp),%edx
41818a:	8b ce                	mov    %esi,%ecx
41818c:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
418191:	e8 96 ff ff ff       	call   0x41812c
418196:	33 c0                	xor    %eax,%eax
418198:	5a                   	pop    %edx
418199:	59                   	pop    %ecx
41819a:	59                   	pop    %ecx
41819b:	64 89 10             	mov    %edx,%fs:(%eax)
41819e:	68 b3 81 41 00       	push   $0x4181b3
4181a3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4181a6:	e8 9d c5 fe ff       	call   0x404748
4181ab:	c3                   	ret
4181ac:	e9 ff be fe ff       	jmp    0x4040b0
4181b1:	eb f0                	jmp    0x4181a3
4181b3:	5e                   	pop    %esi
4181b4:	5b                   	pop    %ebx
4181b5:	59                   	pop    %ecx
4181b6:	5d                   	pop    %ebp
4181b7:	c3                   	ret
4181b8:	53                   	push   %ebx
4181b9:	8b d8                	mov    %eax,%ebx
4181bb:	8b 43 08             	mov    0x8(%ebx),%eax
4181be:	3b 43 0c             	cmp    0xc(%ebx),%eax
4181c1:	75 06                	jne    0x4181c9
4181c3:	8b c3                	mov    %ebx,%eax
4181c5:	8b 10                	mov    (%eax),%edx
4181c7:	ff 12                	call   *(%edx)
4181c9:	8b c3                	mov    %ebx,%eax
4181cb:	5b                   	pop    %ebx
4181cc:	c3                   	ret
4181cd:	8d 40 00             	lea    0x0(%eax),%eax
4181d0:	33 d2                	xor    %edx,%edx
4181d2:	e8 01 00 00 00       	call   0x4181d8
4181d7:	c3                   	ret
4181d8:	53                   	push   %ebx
4181d9:	56                   	push   %esi
4181da:	8b f2                	mov    %edx,%esi
4181dc:	8b d8                	mov    %eax,%ebx
4181de:	85 f6                	test   %esi,%esi
4181e0:	7c 05                	jl     0x4181e7
4181e2:	3b 73 08             	cmp    0x8(%ebx),%esi
4181e5:	7c 0f                	jl     0x4181f6
4181e7:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
4181ed:	8b ce                	mov    %esi,%ecx
4181ef:	8b 03                	mov    (%ebx),%eax
4181f1:	e8 6e ff ff ff       	call   0x418164
4181f6:	8b 43 04             	mov    0x4(%ebx),%eax
4181f9:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4181fc:	5e                   	pop    %esi
4181fd:	5b                   	pop    %ebx
4181fe:	c3                   	ret
4181ff:	90                   	nop
418200:	8b 50 0c             	mov    0xc(%eax),%edx
418203:	83 fa 40             	cmp    $0x40,%edx
418206:	7e 0e                	jle    0x418216
418208:	8b ca                	mov    %edx,%ecx
41820a:	85 c9                	test   %ecx,%ecx
41820c:	79 03                	jns    0x418211
41820e:	83 c1 03             	add    $0x3,%ecx
418211:	c1 f9 02             	sar    $0x2,%ecx
418214:	eb 11                	jmp    0x418227
418216:	83 fa 08             	cmp    $0x8,%edx
418219:	7e 07                	jle    0x418222
41821b:	b9 10 00 00 00       	mov    $0x10,%ecx
418220:	eb 05                	jmp    0x418227
418222:	b9 04 00 00 00       	mov    $0x4,%ecx
418227:	03 ca                	add    %edx,%ecx
418229:	8b d1                	mov    %ecx,%edx
41822b:	e8 64 01 00 00       	call   0x418394
418230:	c3                   	ret
418231:	8d 40 00             	lea    0x0(%eax),%eax
418234:	53                   	push   %ebx
418235:	33 c9                	xor    %ecx,%ecx
418237:	eb 01                	jmp    0x41823a
418239:	41                   	inc    %ecx
41823a:	3b 48 08             	cmp    0x8(%eax),%ecx
41823d:	7d 08                	jge    0x418247
41823f:	8b 58 04             	mov    0x4(%eax),%ebx
418242:	3b 14 8b             	cmp    (%ebx,%ecx,4),%edx
418245:	75 f2                	jne    0x418239
418247:	3b 48 08             	cmp    0x8(%eax),%ecx
41824a:	75 03                	jne    0x41824f
41824c:	83 c9 ff             	or     $0xffffffff,%ecx
41824f:	8b c1                	mov    %ecx,%eax
418251:	5b                   	pop    %ebx
418252:	c3                   	ret
418253:	90                   	nop
418254:	53                   	push   %ebx
418255:	56                   	push   %esi
418256:	57                   	push   %edi
418257:	8b f9                	mov    %ecx,%edi
418259:	8b f2                	mov    %edx,%esi
41825b:	8b d8                	mov    %eax,%ebx
41825d:	85 f6                	test   %esi,%esi
41825f:	7c 05                	jl     0x418266
418261:	3b 73 08             	cmp    0x8(%ebx),%esi
418264:	7e 0f                	jle    0x418275
418266:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41826c:	8b ce                	mov    %esi,%ecx
41826e:	8b 03                	mov    (%ebx),%eax
418270:	e8 ef fe ff ff       	call   0x418164
418275:	8b 43 08             	mov    0x8(%ebx),%eax
418278:	3b 43 0c             	cmp    0xc(%ebx),%eax
41827b:	75 06                	jne    0x418283
41827d:	8b c3                	mov    %ebx,%eax
41827f:	8b 10                	mov    (%eax),%edx
418281:	ff 12                	call   *(%edx)
418283:	8b 43 08             	mov    0x8(%ebx),%eax
418286:	3b f0                	cmp    %eax,%esi
418288:	7d 1a                	jge    0x4182a4
41828a:	2b c6                	sub    %esi,%eax
41828c:	8b c8                	mov    %eax,%ecx
41828e:	03 c9                	add    %ecx,%ecx
418290:	03 c9                	add    %ecx,%ecx
418292:	8b 43 04             	mov    0x4(%ebx),%eax
418295:	8d 54 b0 04          	lea    0x4(%eax,%esi,4),%edx
418299:	8b 43 04             	mov    0x4(%ebx),%eax
41829c:	8d 04 b0             	lea    (%eax,%esi,4),%eax
41829f:	e8 48 ac fe ff       	call   0x402eec
4182a4:	8b 43 04             	mov    0x4(%ebx),%eax
4182a7:	89 3c b0             	mov    %edi,(%eax,%esi,4)
4182aa:	ff 43 08             	incl   0x8(%ebx)
4182ad:	85 ff                	test   %edi,%edi
4182af:	74 0b                	je     0x4182bc
4182b1:	33 c9                	xor    %ecx,%ecx
4182b3:	8b d7                	mov    %edi,%edx
4182b5:	8b c3                	mov    %ebx,%eax
4182b7:	8b 18                	mov    (%eax),%ebx
4182b9:	ff 53 04             	call   *0x4(%ebx)
4182bc:	5f                   	pop    %edi
4182bd:	5e                   	pop    %esi
4182be:	5b                   	pop    %ebx
4182bf:	c3                   	ret
4182c0:	8b 50 08             	mov    0x8(%eax),%edx
4182c3:	4a                   	dec    %edx
4182c4:	e8 0f ff ff ff       	call   0x4181d8
4182c9:	c3                   	ret
4182ca:	8b c0                	mov    %eax,%eax
4182cc:	53                   	push   %ebx
4182cd:	56                   	push   %esi
4182ce:	57                   	push   %edi
4182cf:	55                   	push   %ebp
4182d0:	8b f1                	mov    %ecx,%esi
4182d2:	8b fa                	mov    %edx,%edi
4182d4:	8b d8                	mov    %eax,%ebx
4182d6:	3b f7                	cmp    %edi,%esi
4182d8:	74 45                	je     0x41831f
4182da:	85 f6                	test   %esi,%esi
4182dc:	7c 05                	jl     0x4182e3
4182de:	3b 73 08             	cmp    0x8(%ebx),%esi
4182e1:	7c 0f                	jl     0x4182f2
4182e3:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
4182e9:	8b ce                	mov    %esi,%ecx
4182eb:	8b 03                	mov    (%ebx),%eax
4182ed:	e8 72 fe ff ff       	call   0x418164
4182f2:	8b d7                	mov    %edi,%edx
4182f4:	8b c3                	mov    %ebx,%eax
4182f6:	e8 dd fe ff ff       	call   0x4181d8
4182fb:	8b e8                	mov    %eax,%ebp
4182fd:	8b 43 04             	mov    0x4(%ebx),%eax
418300:	33 d2                	xor    %edx,%edx
418302:	89 14 b8             	mov    %edx,(%eax,%edi,4)
418305:	8b d7                	mov    %edi,%edx
418307:	8b c3                	mov    %ebx,%eax
418309:	e8 b6 fd ff ff       	call   0x4180c4
41830e:	33 c9                	xor    %ecx,%ecx
418310:	8b d6                	mov    %esi,%edx
418312:	8b c3                	mov    %ebx,%eax
418314:	e8 3b ff ff ff       	call   0x418254
418319:	8b 43 04             	mov    0x4(%ebx),%eax
41831c:	89 2c b0             	mov    %ebp,(%eax,%esi,4)
41831f:	5d                   	pop    %ebp
418320:	5f                   	pop    %edi
418321:	5e                   	pop    %esi
418322:	5b                   	pop    %ebx
418323:	c3                   	ret
418324:	53                   	push   %ebx
418325:	56                   	push   %esi
418326:	57                   	push   %edi
418327:	8b f9                	mov    %ecx,%edi
418329:	8b f2                	mov    %edx,%esi
41832b:	8b d8                	mov    %eax,%ebx
41832d:	85 f6                	test   %esi,%esi
41832f:	7c 05                	jl     0x418336
418331:	3b 73 08             	cmp    0x8(%ebx),%esi
418334:	7c 0f                	jl     0x418345
418336:	8b 15 3c 77 4a 00    	mov    0x4a773c,%edx
41833c:	8b ce                	mov    %esi,%ecx
41833e:	8b 03                	mov    (%ebx),%eax
418340:	e8 1f fe ff ff       	call   0x418164
418345:	8b 53 04             	mov    0x4(%ebx),%edx
418348:	8b 04 b2             	mov    (%edx,%esi,4),%eax
41834b:	3b f8                	cmp    %eax,%edi
41834d:	74 21                	je     0x418370
41834f:	89 3c b2             	mov    %edi,(%edx,%esi,4)
418352:	85 c0                	test   %eax,%eax
418354:	74 0b                	je     0x418361
418356:	b1 02                	mov    $0x2,%cl
418358:	8b d0                	mov    %eax,%edx
41835a:	8b c3                	mov    %ebx,%eax
41835c:	8b 30                	mov    (%eax),%esi
41835e:	ff 56 04             	call   *0x4(%esi)
418361:	85 ff                	test   %edi,%edi
418363:	74 0b                	je     0x418370
418365:	33 c9                	xor    %ecx,%ecx
418367:	8b d7                	mov    %edi,%edx
418369:	8b c3                	mov    %ebx,%eax
41836b:	8b 18                	mov    (%eax),%ebx
41836d:	ff 53 04             	call   *0x4(%ebx)
418370:	5f                   	pop    %edi
418371:	5e                   	pop    %esi
418372:	5b                   	pop    %ebx
418373:	c3                   	ret
418374:	53                   	push   %ebx
418375:	56                   	push   %esi
418376:	8b d8                	mov    %eax,%ebx
418378:	8b c3                	mov    %ebx,%eax
41837a:	e8 b5 fe ff ff       	call   0x418234
41837f:	8b f0                	mov    %eax,%esi
418381:	85 f6                	test   %esi,%esi
418383:	7c 09                	jl     0x41838e
418385:	8b d6                	mov    %esi,%edx
418387:	8b c3                	mov    %ebx,%eax
418389:	e8 36 fd ff ff       	call   0x4180c4
41838e:	8b c6                	mov    %esi,%eax
418390:	5e                   	pop    %esi
418391:	5b                   	pop    %ebx
418392:	c3                   	ret
418393:	90                   	nop
418394:	53                   	push   %ebx
418395:	56                   	push   %esi
418396:	8b f2                	mov    %edx,%esi
418398:	8b d8                	mov    %eax,%ebx
41839a:	3b 73 08             	cmp    0x8(%ebx),%esi
41839d:	7c 08                	jl     0x4183a7
41839f:	81 fe ff ff ff 07    	cmp    $0x7ffffff,%esi
4183a5:	7e 0f                	jle    0x4183b6
4183a7:	8b 15 48 76 4a 00    	mov    0x4a7648,%edx
4183ad:	8b ce                	mov    %esi,%ecx
4183af:	8b 03                	mov    (%ebx),%eax
4183b1:	e8 ae fd ff ff       	call   0x418164
4183b6:	3b 73 0c             	cmp    0xc(%ebx),%esi
4183b9:	74 11                	je     0x4183cc
4183bb:	8b d6                	mov    %esi,%edx
4183bd:	03 d2                	add    %edx,%edx
4183bf:	03 d2                	add    %edx,%edx
4183c1:	8d 43 04             	lea    0x4(%ebx),%eax
4183c4:	e8 67 a9 fe ff       	call   0x402d30
4183c9:	89 73 0c             	mov    %esi,0xc(%ebx)
4183cc:	5e                   	pop    %esi
4183cd:	5b                   	pop    %ebx
4183ce:	c3                   	ret
4183cf:	90                   	nop
4183d0:	53                   	push   %ebx
4183d1:	56                   	push   %esi
4183d2:	57                   	push   %edi
4183d3:	55                   	push   %ebp
4183d4:	8b f2                	mov    %edx,%esi
4183d6:	8b d8                	mov    %eax,%ebx
4183d8:	85 f6                	test   %esi,%esi
4183da:	7c 08                	jl     0x4183e4
4183dc:	81 fe ff ff ff 07    	cmp    $0x7ffffff,%esi
4183e2:	7e 0f                	jle    0x4183f3
4183e4:	8b 15 94 75 4a 00    	mov    0x4a7594,%edx
4183ea:	8b ce                	mov    %esi,%ecx
4183ec:	8b 03                	mov    (%ebx),%eax
4183ee:	e8 71 fd ff ff       	call   0x418164
4183f3:	3b 73 0c             	cmp    0xc(%ebx),%esi
4183f6:	7e 09                	jle    0x418401
4183f8:	8b d6                	mov    %esi,%edx
4183fa:	8b c3                	mov    %ebx,%eax
4183fc:	e8 93 ff ff ff       	call   0x418394
418401:	8b 43 08             	mov    0x8(%ebx),%eax
418404:	3b f0                	cmp    %eax,%esi
418406:	7e 1a                	jle    0x418422
418408:	8b 53 04             	mov    0x4(%ebx),%edx
41840b:	8d 14 82             	lea    (%edx,%eax,4),%edx
41840e:	8b ce                	mov    %esi,%ecx
418410:	2b c8                	sub    %eax,%ecx
418412:	8b c1                	mov    %ecx,%eax
418414:	03 c0                	add    %eax,%eax
418416:	03 c0                	add    %eax,%eax
418418:	33 c9                	xor    %ecx,%ecx
41841a:	92                   	xchg   %eax,%edx
41841b:	e8 38 ae fe ff       	call   0x403258
418420:	eb 17                	jmp    0x418439
418422:	8b e8                	mov    %eax,%ebp
418424:	4d                   	dec    %ebp
418425:	8b fe                	mov    %esi,%edi
418427:	2b fd                	sub    %ebp,%edi
418429:	7f 0e                	jg     0x418439
41842b:	4f                   	dec    %edi
41842c:	8b d5                	mov    %ebp,%edx
41842e:	8b c3                	mov    %ebx,%eax
418430:	e8 8f fc ff ff       	call   0x4180c4