4020db:	8b 1e                	mov    (%esi),%ebx
4020dd:	76 0c                	jbe    0x4020eb
4020df:	ff 74 24 10          	push   0x10(%esp)
4020e3:	8b d3                	mov    %ebx,%edx
4020e5:	e8 82 f0 ff ff       	call   0x40116c
4020ea:	59                   	pop    %ecx
4020eb:	8b 56 14             	mov    0x14(%esi),%edx
4020ee:	8b cb                	mov    %ebx,%ecx
4020f0:	6a 02                	push   $0x2
4020f2:	42                   	inc    %edx
4020f3:	e8 e6 f0 ff ff       	call   0x4011de
4020f8:	59                   	pop    %ecx
4020f9:	5b                   	pop    %ebx
4020fa:	ff 74 24 0c          	push   0xc(%esp)
4020fe:	8b ce                	mov    %esi,%ecx
402100:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
402107:	e8 69 01 00 00       	call   0x402275
40210c:	5e                   	pop    %esi
40210d:	c2 08 00             	ret    $0x8
402110:	53                   	push   %ebx
402111:	8b 5c 24 08          	mov    0x8(%esp),%ebx
402115:	55                   	push   %ebp
402116:	8b 6c 24 10          	mov    0x10(%esp),%ebp
40211a:	56                   	push   %esi
40211b:	57                   	push   %edi
40211c:	8b 7b 10             	mov    0x10(%ebx),%edi
40211f:	8b f1                	mov    %ecx,%esi
402121:	3b fd                	cmp    %ebp,%edi
402123:	72 5f                	jb     0x402184
402125:	2b fd                	sub    %ebp,%edi
402127:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
40212b:	0f 42 7c 24 1c       	cmovb  0x1c(%esp),%edi
402130:	3b f3                	cmp    %ebx,%esi
402132:	75 15                	jne    0x402149
402134:	8d 04 2f             	lea    (%edi,%ebp,1),%eax
402137:	50                   	push   %eax
402138:	e8 a8 01 00 00       	call   0x4022e5
40213d:	55                   	push   %ebp
40213e:	6a 00                	push   $0x0
402140:	8b ce                	mov    %esi,%ecx
402142:	e8 46 01 00 00       	call   0x40228d
402147:	eb 32                	jmp    0x40217b
402149:	6a 00                	push   $0x0
40214b:	57                   	push   %edi
40214c:	e8 c6 00 00 00       	call   0x402217
402151:	84 c0                	test   %al,%al
402153:	74 26                	je     0x40217b
402155:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
402159:	72 02                	jb     0x40215d
40215b:	8b 1b                	mov    (%ebx),%ebx
40215d:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
402161:	72 04                	jb     0x402167
402163:	8b 0e                	mov    (%esi),%ecx
402165:	eb 02                	jmp    0x402169
402167:	8b ce                	mov    %esi,%ecx
402169:	57                   	push   %edi
40216a:	8d 14 6b             	lea    (%ebx,%ebp,2),%edx
40216d:	e8 fa ef ff ff       	call   0x40116c
402172:	59                   	pop    %ecx
402173:	57                   	push   %edi
402174:	8b ce                	mov    %esi,%ecx
402176:	e8 fa 00 00 00       	call   0x402275
40217b:	5f                   	pop    %edi
40217c:	8b c6                	mov    %esi,%eax
40217e:	5e                   	pop    %esi
40217f:	5d                   	pop    %ebp
402180:	5b                   	pop    %ebx
402181:	c2 0c 00             	ret    $0xc
402184:	e8 4a 00 00 00       	call   0x4021d3
402189:	cc                   	int3
40218a:	56                   	push   %esi
40218b:	8b 74 24 08          	mov    0x8(%esp),%esi
40218f:	57                   	push   %edi
402190:	8b f9                	mov    %ecx,%edi
402192:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
402196:	73 0f                	jae    0x4021a7
402198:	8b 46 10             	mov    0x10(%esi),%eax
40219b:	8b d6                	mov    %esi,%edx
40219d:	40                   	inc    %eax
40219e:	50                   	push   %eax
40219f:	e8 c8 ef ff ff       	call   0x40116c
4021a4:	59                   	pop    %ecx
4021a5:	eb 0b                	jmp    0x4021b2
4021a7:	85 ff                	test   %edi,%edi
4021a9:	74 04                	je     0x4021af
4021ab:	8b 06                	mov    (%esi),%eax
4021ad:	89 07                	mov    %eax,(%edi)
4021af:	83 26 00             	andl   $0x0,(%esi)
4021b2:	8b 46 10             	mov    0x10(%esi),%eax
4021b5:	89 47 10             	mov    %eax,0x10(%edi)
4021b8:	8b 46 14             	mov    0x14(%esi),%eax
4021bb:	89 47 14             	mov    %eax,0x14(%edi)
4021be:	33 c0                	xor    %eax,%eax
4021c0:	83 66 10 00          	andl   $0x0,0x10(%esi)
4021c4:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
4021cb:	5f                   	pop    %edi
4021cc:	66 89 06             	mov    %ax,(%esi)
4021cf:	5e                   	pop    %esi
4021d0:	c2 04 00             	ret    $0x4
4021d3:	68 00 93 43 00       	push   $0x439300
4021d8:	e8 5c 77 00 00       	call   0x409939
4021dd:	cc                   	int3
4021de:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
4021e3:	74 2d                	je     0x402212
4021e5:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
4021e9:	72 04                	jb     0x4021ef
4021eb:	8b 01                	mov    (%ecx),%eax
4021ed:	eb 02                	jmp    0x4021f1
4021ef:	8b c1                	mov    %ecx,%eax
4021f1:	39 44 24 04          	cmp    %eax,0x4(%esp)
4021f5:	72 1b                	jb     0x402212
4021f7:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
4021fb:	72 04                	jb     0x402201
4021fd:	8b 11                	mov    (%ecx),%edx
4021ff:	eb 02                	jmp    0x402203
402201:	8b d1                	mov    %ecx,%edx
402203:	8b 41 10             	mov    0x10(%ecx),%eax
402206:	8d 04 42             	lea    (%edx,%eax,2),%eax
402209:	3b 44 24 04          	cmp    0x4(%esp),%eax
40220d:	0f 97 c0             	seta   %al
402210:	eb 02                	jmp    0x402214
402212:	32 c0                	xor    %al,%al
402214:	c2 04 00             	ret    $0x4
402217:	56                   	push   %esi
402218:	8b 74 24 08          	mov    0x8(%esp),%esi
40221c:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
402222:	77 4b                	ja     0x40226f
402224:	39 71 14             	cmp    %esi,0x14(%ecx)
402227:	73 0b                	jae    0x402234
402229:	ff 71 10             	push   0x10(%ecx)
40222c:	56                   	push   %esi
40222d:	e8 dc 00 00 00       	call   0x40230e
402232:	eb 32                	jmp    0x402266
402234:	80 7c 24 0c 00       	cmpb   $0x0,0xc(%esp)
402239:	74 17                	je     0x402252
40223b:	83 fe 08             	cmp    $0x8,%esi
40223e:	73 12                	jae    0x402252
402240:	8b 41 10             	mov    0x10(%ecx),%eax
402243:	3b f0                	cmp    %eax,%esi
402245:	0f 42 c6             	cmovb  %esi,%eax
402248:	50                   	push   %eax
402249:	6a 01                	push   $0x1
40224b:	e8 75 fe ff ff       	call   0x4020c5
402250:	eb 14                	jmp    0x402266
402252:	85 f6                	test   %esi,%esi
402254:	75 12                	jne    0x402268
402256:	21 71 10             	and    %esi,0x10(%ecx)
402259:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
40225d:	72 02                	jb     0x402261
40225f:	8b 09                	mov    (%ecx),%ecx
402261:	33 c0                	xor    %eax,%eax
402263:	66 89 01             	mov    %ax,(%ecx)
402266:	85 f6                	test   %esi,%esi
402268:	0f 95 c0             	setne  %al
40226b:	5e                   	pop    %esi
40226c:	c2 08 00             	ret    $0x8
40226f:	e8 8f 00 00 00       	call   0x402303
402274:	cc                   	int3
402275:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
402279:	8b 44 24 04          	mov    0x4(%esp),%eax
40227d:	89 41 10             	mov    %eax,0x10(%ecx)
402280:	72 02                	jb     0x402284
402282:	8b 09                	mov    (%ecx),%ecx
402284:	33 d2                	xor    %edx,%edx
402286:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
40228a:	c2 04 00             	ret    $0x4
40228d:	8b 54 24 04          	mov    0x4(%esp),%edx
402291:	56                   	push   %esi
402292:	8b f1                	mov    %ecx,%esi
402294:	57                   	push   %edi
402295:	8b 7e 10             	mov    0x10(%esi),%edi
402298:	3b fa                	cmp    %edx,%edi
40229a:	72 43                	jb     0x4022df
40229c:	8b c7                	mov    %edi,%eax
40229e:	53                   	push   %ebx
40229f:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4022a3:	2b c2                	sub    %edx,%eax
4022a5:	3b c3                	cmp    %ebx,%eax
4022a7:	77 03                	ja     0x4022ac
4022a9:	52                   	push   %edx
4022aa:	eb 26                	jmp    0x4022d2
4022ac:	85 db                	test   %ebx,%ebx
4022ae:	74 27                	je     0x4022d7
4022b0:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4022b4:	72 04                	jb     0x4022ba
4022b6:	8b 06                	mov    (%esi),%eax
4022b8:	eb 02                	jmp    0x4022bc
4022ba:	8b c6                	mov    %esi,%eax
4022bc:	8d 0c 50             	lea    (%eax,%edx,2),%ecx
4022bf:	2b fb                	sub    %ebx,%edi
4022c1:	8b c7                	mov    %edi,%eax
4022c3:	2b c2                	sub    %edx,%eax
4022c5:	8d 14 59             	lea    (%ecx,%ebx,2),%edx
4022c8:	50                   	push   %eax
4022c9:	e8 9e ee ff ff       	call   0x40116c
4022ce:	59                   	pop    %ecx
4022cf:	57                   	push   %edi
4022d0:	8b ce                	mov    %esi,%ecx
4022d2:	e8 9e ff ff ff       	call   0x402275
4022d7:	5b                   	pop    %ebx
4022d8:	5f                   	pop    %edi
4022d9:	8b c6                	mov    %esi,%eax
4022db:	5e                   	pop    %esi
4022dc:	c2 08 00             	ret    $0x8
4022df:	e8 ef fe ff ff       	call   0x4021d3
4022e4:	cc                   	int3
4022e5:	8b 44 24 04          	mov    0x4(%esp),%eax
4022e9:	56                   	push   %esi
4022ea:	8b f1                	mov    %ecx,%esi
4022ec:	39 46 10             	cmp    %eax,0x10(%esi)
4022ef:	72 0c                	jb     0x4022fd
4022f1:	50                   	push   %eax
4022f2:	e8 7e ff ff ff       	call   0x402275
4022f7:	8b c6                	mov    %esi,%eax
4022f9:	5e                   	pop    %esi
4022fa:	c2 04 00             	ret    $0x4
4022fd:	e8 d1 fe ff ff       	call   0x4021d3
402302:	cc                   	int3
402303:	68 18 93 43 00       	push   $0x439318
402308:	e8 0c 76 00 00       	call   0x409919
40230d:	cc                   	int3
40230e:	53                   	push   %ebx
40230f:	55                   	push   %ebp
402310:	56                   	push   %esi
402311:	8b 74 24 10          	mov    0x10(%esp),%esi
402315:	57                   	push   %edi
402316:	8b f9                	mov    %ecx,%edi
402318:	83 ce 07             	or     $0x7,%esi
40231b:	8d 5f 14             	lea    0x14(%edi),%ebx
40231e:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
402324:	76 06                	jbe    0x40232c
402326:	8b 74 24 14          	mov    0x14(%esp),%esi
40232a:	eb 2a                	jmp    0x402356
40232c:	33 d2                	xor    %edx,%edx
40232e:	c7 44 24 14 03 00 00 	movl   $0x3,0x14(%esp)
402335:	00
402336:	8b c6                	mov    %esi,%eax
402338:	8b 2b                	mov    (%ebx),%ebp
40233a:	f7 74 24 14          	divl   0x14(%esp)
40233e:	8b cd                	mov    %ebp,%ecx
402340:	d1 e9                	shr    $1,%ecx
402342:	3b c8                	cmp    %eax,%ecx
402344:	76 10                	jbe    0x402356
402346:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
40234b:	8b c6                	mov    %esi,%eax
40234d:	2b c1                	sub    %ecx,%eax
40234f:	3b e8                	cmp    %eax,%ebp
402351:	77 03                	ja     0x402356
402353:	8d 34 29             	lea    (%ecx,%ebp,1),%esi
402356:	51                   	push   %ecx
402357:	6a 02                	push   $0x2
402359:	8d 4e 01             	lea    0x1(%esi),%ecx
40235c:	5a                   	pop    %edx
40235d:	e8 24 ee ff ff       	call   0x401186
402362:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
402366:	89 44 24 18          	mov    %eax,0x18(%esp)
40236a:	59                   	pop    %ecx
40236b:	85 ed                	test   %ebp,%ebp
40236d:	74 14                	je     0x402383
40236f:	83 3b 08             	cmpl   $0x8,(%ebx)
402372:	72 04                	jb     0x402378
402374:	8b 17                	mov    (%edi),%edx
402376:	eb 02                	jmp    0x40237a
402378:	8b d7                	mov    %edi,%edx
40237a:	55                   	push   %ebp
40237b:	8b c8                	mov    %eax,%ecx
40237d:	e8 ea ed ff ff       	call   0x40116c
402382:	59                   	pop    %ecx
402383:	6a 00                	push   $0x0
402385:	6a 01                	push   $0x1
402387:	8b cf                	mov    %edi,%ecx
402389:	e8 37 fd ff ff       	call   0x4020c5
40238e:	85 ff                	test   %edi,%edi
402390:	74 06                	je     0x402398
402392:	8b 44 24 14          	mov    0x14(%esp),%eax
402396:	89 07                	mov    %eax,(%edi)
402398:	55                   	push   %ebp
402399:	8b cf                	mov    %edi,%ecx
40239b:	89 33                	mov    %esi,(%ebx)
40239d:	e8 d3 fe ff ff       	call   0x402275
4023a2:	5f                   	pop    %edi
4023a3:	5e                   	pop    %esi
4023a4:	5d                   	pop    %ebp
4023a5:	5b                   	pop    %ebx
4023a6:	c2 08 00             	ret    $0x8
4023a9:	51                   	push   %ecx
4023aa:	33 c9                	xor    %ecx,%ecx
4023ac:	6a 0c                	push   $0xc
4023ae:	5a                   	pop    %edx
4023af:	41                   	inc    %ecx
4023b0:	e8 d1 ed ff ff       	call   0x401186
4023b5:	59                   	pop    %ecx
4023b6:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4023ba:	85 c9                	test   %ecx,%ecx
4023bc:	75 06                	jne    0x4023c4
4023be:	8b c8                	mov    %eax,%ecx
4023c0:	8b d0                	mov    %eax,%edx
4023c2:	eb 04                	jmp    0x4023c8
4023c4:	8b 54 24 08          	mov    0x8(%esp),%edx
4023c8:	85 c0                	test   %eax,%eax
4023ca:	74 02                	je     0x4023ce
4023cc:	89 08                	mov    %ecx,(%eax)
4023ce:	8d 48 04             	lea    0x4(%eax),%ecx
4023d1:	85 c9                	test   %ecx,%ecx
4023d3:	74 02                	je     0x4023d7
4023d5:	89 11                	mov    %edx,(%ecx)
4023d7:	c2 08 00             	ret    $0x8
4023da:	53                   	push   %ebx
4023db:	55                   	push   %ebp
4023dc:	56                   	push   %esi
4023dd:	8b f1                	mov    %ecx,%esi
4023df:	bd fc 92 43 00       	mov    $0x4392fc,%ebp
4023e4:	57                   	push   %edi
4023e5:	8b cd                	mov    %ebp,%ecx
4023e7:	e8 60 ed ff ff       	call   0x40114c
4023ec:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4023f0:	8b f8                	mov    %eax,%edi
4023f2:	8b 5e 10             	mov    0x10(%esi),%ebx
4023f5:	72 02                	jb     0x4023f9
4023f7:	8b 36                	mov    (%esi),%esi
4023f9:	3b df                	cmp    %edi,%ebx
4023fb:	0f 42 c3             	cmovb  %ebx,%eax
4023fe:	85 c0                	test   %eax,%eax
402400:	75 04                	jne    0x402406
402402:	33 c9                	xor    %ecx,%ecx
402404:	eb 0d                	jmp    0x402413
402406:	50                   	push   %eax
402407:	55                   	push   %ebp
402408:	56                   	push   %esi
402409:	e8 02 ed ff ff       	call   0x401110
40240e:	83 c4 0c             	add    $0xc,%esp
402411:	8b c8                	mov    %eax,%ecx
402413:	33 c0                	xor    %eax,%eax
402415:	3b df                	cmp    %edi,%ebx
402417:	0f 95 c0             	setne  %al
40241a:	83 ca ff             	or     $0xffffffff,%edx
40241d:	3b df                	cmp    %edi,%ebx
40241f:	5f                   	pop    %edi
402420:	0f 42 c2             	cmovb  %edx,%eax
402423:	85 c9                	test   %ecx,%ecx
402425:	5e                   	pop    %esi
402426:	0f 45 c1             	cmovne %ecx,%eax
402429:	f7 d8                	neg    %eax
40242b:	5d                   	pop    %ebp
40242c:	1a c0                	sbb    %al,%al
40242e:	fe c0                	inc    %al
402430:	5b                   	pop    %ebx
402431:	c3                   	ret
402432:	55                   	push   %ebp
402433:	8b ec                	mov    %esp,%ebp