420123:	85 ff                	test   %edi,%edi
420125:	74 1f                	je     0x420146
420127:	6a f0                	push   $0xfffffff0
420129:	57                   	push   %edi
42012a:	ff 15 20 99 43 00    	call   *0x439920
420130:	a9 00 00 00 40       	test   $0x40000000,%eax
420135:	74 0f                	je     0x420146
420137:	57                   	push   %edi
420138:	ff d3                	call   *%ebx
42013a:	8b f8                	mov    %eax,%edi
42013c:	ff 15 08 98 43 00    	call   *0x439808
420142:	3b f8                	cmp    %eax,%edi
420144:	74 10                	je     0x420156
420146:	6a 00                	push   $0x0
420148:	6a 00                	push   $0x0
42014a:	68 4f 01 00 00       	push   $0x14f
42014f:	56                   	push   %esi
420150:	ff 15 88 99 43 00    	call   *0x439988
420156:	5f                   	pop    %edi
420157:	5e                   	pop    %esi
420158:	5b                   	pop    %ebx
420159:	c2 04 00             	ret    $0x4
42015c:	57                   	push   %edi
42015d:	8b 7c 24 08          	mov    0x8(%esp),%edi
420161:	85 ff                	test   %edi,%edi
420163:	74 29                	je     0x42018e
420165:	57                   	push   %edi
420166:	ff 15 b4 96 43 00    	call   *0x4396b4
42016c:	25 ff 00 00 00       	and    $0xff,%eax
420171:	8b c8                	mov    %eax,%ecx
420173:	48                   	dec    %eax
420174:	85 c9                	test   %ecx,%ecx
420176:	74 0f                	je     0x420187
420178:	56                   	push   %esi
420179:	8d 70 01             	lea    0x1(%eax),%esi
42017c:	57                   	push   %edi
42017d:	ff 15 30 97 43 00    	call   *0x439730
420183:	4e                   	dec    %esi
420184:	75 f6                	jne    0x42017c
420186:	5e                   	pop    %esi
420187:	57                   	push   %edi
420188:	ff 15 24 97 43 00    	call   *0x439724
42018e:	5f                   	pop    %edi
42018f:	c2 04 00             	ret    $0x4
420192:	56                   	push   %esi
420193:	e8 5c 42 00 00       	call   0x4243f4
420198:	8b f0                	mov    %eax,%esi
42019a:	85 f6                	test   %esi,%esi
42019c:	74 3d                	je     0x4201db
42019e:	8b 46 0c             	mov    0xc(%esi),%eax
4201a1:	85 c0                	test   %eax,%eax
4201a3:	74 36                	je     0x4201db
4201a5:	50                   	push   %eax
4201a6:	e8 25 ca fe ff       	call   0x40cbd0
4201ab:	59                   	pop    %ecx
4201ac:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4201b0:	8d 51 04             	lea    0x4(%ecx),%edx
4201b3:	3b c2                	cmp    %edx,%eax
4201b5:	77 0f                	ja     0x4201c6
4201b7:	ff 76 0c             	push   0xc(%esi)
4201ba:	e8 d1 c3 fe ff       	call   0x40c590
4201bf:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4201c3:	59                   	pop    %ecx
4201c4:	eb 10                	jmp    0x4201d6
4201c6:	2b c1                	sub    %ecx,%eax
4201c8:	83 e8 04             	sub    $0x4,%eax
4201cb:	50                   	push   %eax
4201cc:	ff 76 0c             	push   0xc(%esi)
4201cf:	e8 6c ca fe ff       	call   0x40cc40
4201d4:	59                   	pop    %ecx
4201d5:	59                   	pop    %ecx
4201d6:	6a 01                	push   $0x1
4201d8:	58                   	pop    %eax
4201d9:	5e                   	pop    %esi
4201da:	c3                   	ret
4201db:	e8 95 94 ff ff       	call   0x419675
4201e0:	33 c0                	xor    %eax,%eax
4201e2:	5e                   	pop    %esi
4201e3:	c3                   	ret
4201e4:	55                   	push   %ebp
4201e5:	8b ec                	mov    %esp,%ebp
4201e7:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
4201ed:	57                   	push   %edi
4201ee:	33 ff                	xor    %edi,%edi
4201f0:	39 7d 08             	cmp    %edi,0x8(%ebp)
4201f3:	75 0c                	jne    0x420201
4201f5:	39 3d f4 6f 43 00    	cmp    %edi,0x436ff4
4201fb:	0f 85 52 01 00 00    	jne    0x420353
420201:	66 39 3d 00 70 43 00 	cmp    %di,0x437000
420208:	c7 05 f4 6f 43 00 01 	movl   $0x1,0x436ff4
42020f:	00 00 00
420212:	75 1f                	jne    0x420233
420214:	68 54 b6 42 00       	push   $0x42b654
420219:	ff 15 30 99 43 00    	call   *0x439930
42021f:	33 c9                	xor    %ecx,%ecx
420221:	3b c7                	cmp    %edi,%eax
420223:	0f 95 c1             	setne  %cl
420226:	41                   	inc    %ecx
420227:	a3 fc 6f 43 00       	mov    %eax,0x436ffc
42022c:	66 89 0d 00 70 43 00 	mov    %cx,0x437000
420233:	66 83 3d 00 70 43 00 	cmpw   $0x2,0x437000
42023a:	02
42023b:	75 32                	jne    0x42026f
42023d:	68 40 b6 42 00       	push   $0x42b640
420242:	68 38 b6 42 00       	push   $0x42b638
420247:	ff 15 f4 97 43 00    	call   *0x4397f4
42024d:	3b c7                	cmp    %edi,%eax
42024f:	74 1e                	je     0x42026f
420251:	8b 0d fc 6f 43 00    	mov    0x436ffc,%ecx
420257:	3b cf                	cmp    %edi,%ecx
420259:	74 14                	je     0x42026f
42025b:	57                   	push   %edi
42025c:	57                   	push   %edi
42025d:	51                   	push   %ecx
42025e:	50                   	push   %eax
42025f:	ff 15 88 99 43 00    	call   *0x439988
420265:	a3 f8 6f 43 00       	mov    %eax,0x436ff8
42026a:	e9 e9 00 00 00       	jmp    0x420358
42026f:	68 94 00 00 00       	push   $0x94
420274:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42027a:	57                   	push   %edi
42027b:	50                   	push   %eax
42027c:	e8 8f c1 fe ff       	call   0x40c410
420281:	83 c4 0c             	add    $0xc,%esp
420284:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42028a:	c7 85 64 ff ff ff 94 	movl   $0x94,-0x9c(%ebp)
420291:	00 00 00
420294:	c7 05 f8 6f 43 00 03 	movl   $0x3,0x436ff8
42029b:	00 00 00
42029e:	50                   	push   %eax
42029f:	ff 15 a0 96 43 00    	call   *0x4396a0
4202a5:	85 c0                	test   %eax,%eax
4202a7:	0f 84 a6 00 00 00    	je     0x420353
4202ad:	83 bd 74 ff ff ff 01 	cmpl   $0x1,-0x8c(%ebp)
4202b4:	74 0d                	je     0x4202c3
4202b6:	83 bd 74 ff ff ff 02 	cmpl   $0x2,-0x8c(%ebp)
4202bd:	0f 85 90 00 00 00    	jne    0x420353
4202c3:	83 bd 68 ff ff ff 04 	cmpl   $0x4,-0x98(%ebp)
4202ca:	73 66                	jae    0x420332
4202cc:	8d 45 08             	lea    0x8(%ebp),%eax
4202cf:	50                   	push   %eax
4202d0:	6a 01                	push   $0x1
4202d2:	57                   	push   %edi
4202d3:	68 20 b6 42 00       	push   $0x42b620
4202d8:	68 01 00 00 80       	push   $0x80000001
4202dd:	ff 15 44 95 43 00    	call   *0x439544
4202e3:	85 c0                	test   %eax,%eax
4202e5:	75 6c                	jne    0x420353
4202e7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4202ea:	c7 45 fc 80 00 00 00 	movl   $0x80,-0x4(%ebp)
4202f1:	50                   	push   %eax
4202f2:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
4202f8:	50                   	push   %eax
4202f9:	8d 45 f8             	lea    -0x8(%ebp),%eax
4202fc:	50                   	push   %eax
4202fd:	57                   	push   %edi
4202fe:	68 0c b6 42 00       	push   $0x42b60c
420303:	ff 75 08             	push   0x8(%ebp)
420306:	ff 15 34 95 43 00    	call   *0x439534
42030c:	85 c0                	test   %eax,%eax
42030e:	75 17                	jne    0x420327
420310:	6a 0a                	push   $0xa
420312:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
420318:	57                   	push   %edi
420319:	50                   	push   %eax
42031a:	e8 61 cc fe ff       	call   0x40cf80
42031f:	83 c4 0c             	add    $0xc,%esp
420322:	a3 f8 6f 43 00       	mov    %eax,0x436ff8
420327:	ff 75 08             	push   0x8(%ebp)
42032a:	ff 15 38 95 43 00    	call   *0x439538
420330:	eb 21                	jmp    0x420353
420332:	83 bd 74 ff ff ff 02 	cmpl   $0x2,-0x8c(%ebp)
420339:	75 18                	jne    0x420353
42033b:	83 bd 68 ff ff ff 04 	cmpl   $0x4,-0x98(%ebp)
420342:	72 0f                	jb     0x420353
420344:	57                   	push   %edi
420345:	68 f8 6f 43 00       	push   $0x436ff8
42034a:	57                   	push   %edi
42034b:	6a 68                	push   $0x68
42034d:	ff 15 48 98 43 00    	call   *0x439848
420353:	a1 f8 6f 43 00       	mov    0x436ff8,%eax
420358:	5f                   	pop    %edi
420359:	c9                   	leave
42035a:	c3                   	ret
42035b:	55                   	push   %ebp
42035c:	8b ec                	mov    %esp,%ebp
42035e:	83 ec 10             	sub    $0x10,%esp
420361:	8b 45 08             	mov    0x8(%ebp),%eax
420364:	56                   	push   %esi
420365:	8b f1                	mov    %ecx,%esi
420367:	57                   	push   %edi
420368:	33 ff                	xor    %edi,%edi
42036a:	83 4e 40 ff          	orl    $0xffffffff,0x40(%esi)
42036e:	39 7e 1c             	cmp    %edi,0x1c(%esi)
420371:	89 46 44             	mov    %eax,0x44(%esi)
420374:	8b 45 0c             	mov    0xc(%ebp),%eax
420377:	89 46 48             	mov    %eax,0x48(%esi)
42037a:	74 2d                	je     0x4203a9
42037c:	e8 57 d3 ff ff       	call   0x41d6d8
420381:	a9 00 00 30 00       	test   $0x300000,%eax
420386:	74 21                	je     0x4203a9
420388:	6a 01                	push   $0x1
42038a:	57                   	push   %edi
42038b:	57                   	push   %edi
42038c:	8b ce                	mov    %esi,%ecx
42038e:	e8 4f b7 ff ff       	call   0x41bae2
420393:	6a 01                	push   $0x1
420395:	57                   	push   %edi
420396:	6a 01                	push   $0x1
420398:	8b ce                	mov    %esi,%ecx
42039a:	e8 43 b7 ff ff       	call   0x41bae2
42039f:	57                   	push   %edi
4203a0:	6a 03                	push   $0x3
4203a2:	8b ce                	mov    %esi,%ecx
4203a4:	e8 c4 b7 ff ff       	call   0x41bb6d
4203a9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4203ac:	50                   	push   %eax
4203ad:	ff 76 1c             	push   0x1c(%esi)
4203b0:	ff 15 4c 99 43 00    	call   *0x43994c
4203b6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4203b9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4203bc:	2b 45 f0             	sub    -0x10(%ebp),%eax
4203bf:	2b 4d f4             	sub    -0xc(%ebp),%ecx
4203c2:	39 7e 1c             	cmp    %edi,0x1c(%esi)
4203c5:	89 46 4c             	mov    %eax,0x4c(%esi)
4203c8:	89 4e 50             	mov    %ecx,0x50(%esi)
4203cb:	74 13                	je     0x4203e0
4203cd:	8b ce                	mov    %esi,%ecx
4203cf:	e8 90 02 00 00       	call   0x420664
4203d4:	6a 01                	push   $0x1
4203d6:	57                   	push   %edi
4203d7:	ff 76 1c             	push   0x1c(%esi)
4203da:	ff 15 54 99 43 00    	call   *0x439954
4203e0:	5f                   	pop    %edi
4203e1:	5e                   	pop    %esi
4203e2:	c9                   	leave
4203e3:	c2 08 00             	ret    $0x8
4203e6:	55                   	push   %ebp
4203e7:	8b ec                	mov    %esp,%ebp
4203e9:	83 ec 10             	sub    $0x10,%esp
4203ec:	53                   	push   %ebx
4203ed:	56                   	push   %esi
4203ee:	57                   	push   %edi
4203ef:	8b f1                	mov    %ecx,%esi
4203f1:	6a 01                	push   $0x1
4203f3:	e8 1a b7 ff ff       	call   0x41bb12
4203f8:	6a 00                	push   $0x0
4203fa:	8b ce                	mov    %esi,%ecx
4203fc:	8b f8                	mov    %eax,%edi
4203fe:	e8 0f b7 ff ff       	call   0x41bb12
420403:	83 7e 64 00          	cmpl   $0x0,0x64(%esi)
420407:	8b d8                	mov    %eax,%ebx
420409:	74 45                	je     0x420450
42040b:	8d 45 f0             	lea    -0x10(%ebp),%eax
42040e:	50                   	push   %eax
42040f:	ff 76 1c             	push   0x1c(%esi)
420412:	ff 15 4c 99 43 00    	call   *0x43994c
420418:	8b 45 f8             	mov    -0x8(%ebp),%eax
42041b:	8b 4e 4c             	mov    0x4c(%esi),%ecx
42041e:	8b d0                	mov    %eax,%edx
420420:	2b 55 f0             	sub    -0x10(%ebp),%edx
420423:	3b ca                	cmp    %edx,%ecx
420425:	7d 0d                	jge    0x420434
420427:	2b 45 f0             	sub    -0x10(%ebp),%eax
42042a:	6a fe                	push   $0xfffffffe
42042c:	2b c1                	sub    %ecx,%eax
42042e:	59                   	pop    %ecx
42042f:	99                   	cltd
420430:	f7 f9                	idiv   %ecx
420432:	8b d8                	mov    %eax,%ebx
420434:	8b 45 fc             	mov    -0x4(%ebp),%eax
420437:	8b 76 50             	mov    0x50(%esi),%esi
42043a:	8b c8                	mov    %eax,%ecx
42043c:	2b 4d f4             	sub    -0xc(%ebp),%ecx
42043f:	3b f1                	cmp    %ecx,%esi
420441:	7d 0d                	jge    0x420450
420443:	2b 45 f4             	sub    -0xc(%ebp),%eax
420446:	6a fe                	push   $0xfffffffe
420448:	59                   	pop    %ecx
420449:	2b c6                	sub    %esi,%eax
42044b:	99                   	cltd
42044c:	f7 f9                	idiv   %ecx
42044e:	8b f8                	mov    %eax,%edi
420450:	8b 45 08             	mov    0x8(%ebp),%eax
420453:	89 18                	mov    %ebx,(%eax)
420455:	89 78 04             	mov    %edi,0x4(%eax)
420458:	5f                   	pop    %edi
420459:	5e                   	pop    %esi
42045a:	5b                   	pop    %ebx
42045b:	c9                   	leave
42045c:	c2 04 00             	ret    $0x4
42045f:	53                   	push   %ebx
420460:	56                   	push   %esi
420461:	57                   	push   %edi
420462:	8b d9                	mov    %ecx,%ebx
420464:	6a 00                	push   $0x0
420466:	e8 a7 b6 ff ff       	call   0x41bb12
42046b:	6a 01                	push   $0x1
42046d:	8b cb                	mov    %ebx,%ecx
42046f:	ff 74 24 14          	push   0x14(%esp)
420473:	8b f0                	mov    %eax,%esi
420475:	6a 00                	push   $0x0
420477:	e8 66 b6 ff ff       	call   0x41bae2
42047c:	6a 01                	push   $0x1
42047e:	8b cb                	mov    %ebx,%ecx
420480:	e8 8d b6 ff ff       	call   0x41bb12
420485:	6a 01                	push   $0x1
420487:	8b cb                	mov    %ebx,%ecx
420489:	ff 74 24 18          	push   0x18(%esp)
42048d:	8b f8                	mov    %eax,%edi
42048f:	6a 01                	push   $0x1
420491:	e8 4c b6 ff ff       	call   0x41bae2
420496:	2b 7c 24 14          	sub    0x14(%esp),%edi
42049a:	2b 74 24 10          	sub    0x10(%esp),%esi
42049e:	6a 00                	push   $0x0
4204a0:	6a 00                	push   $0x0
4204a2:	57                   	push   %edi
4204a3:	56                   	push   %esi
4204a4:	8b cb                	mov    %ebx,%ecx
4204a6:	e8 52 b7 ff ff       	call   0x41bbfd
4204ab:	5f                   	pop    %edi
4204ac:	5e                   	pop    %esi
4204ad:	5b                   	pop    %ebx
4204ae:	c2 08 00             	ret    $0x8
4204b1:	56                   	push   %esi
4204b2:	8b f1                	mov    %ecx,%esi
4204b4:	e8 5c 9d ff ff       	call   0x41a215
4204b9:	83 7e 40 ff          	cmpl   $0xffffffff,0x40(%esi)
4204bd:	75 0f                	jne    0x4204ce
4204bf:	ff 76 48             	push   0x48(%esi)
4204c2:	8b ce                	mov    %esi,%ecx
4204c4:	ff 76 44             	push   0x44(%esi)
4204c7:	e8 8f fe ff ff       	call   0x42035b
4204cc:	eb 07                	jmp    0x4204d5
4204ce:	8b ce                	mov    %esi,%ecx
4204d0:	e8 8f 01 00 00       	call   0x420664
4204d5:	5e                   	pop    %esi
4204d6:	c2 0c 00             	ret    $0xc
4204d9:	55                   	push   %ebp
4204da:	8b ec                	mov    %esp,%ebp
4204dc:	53                   	push   %ebx
4204dd:	56                   	push   %esi
4204de:	8b 75 08             	mov    0x8(%ebp),%esi
4204e1:	57                   	push   %edi
4204e2:	8b f9                	mov    %ecx,%edi
4204e4:	83 66 04 00          	andl   $0x0,0x4(%esi)
4204e8:	83 26 00             	andl   $0x0,(%esi)
4204eb:	e8 e8 d1 ff ff       	call   0x41d6d8
4204f0:	89 45 08             	mov    %eax,0x8(%ebp)
4204f3:	8b 07                	mov    (%edi),%eax