43efc8:	e9 8b 8a fc ff       	jmp    0x407a58
43efcd:	48                   	dec    %eax
43efce:	89 01                	mov    %eax,(%ecx)
43efd0:	8b cf                	mov    %edi,%ecx
43efd2:	e8 b2 91 fc ff       	call   0x408189
43efd7:	8b 47 04             	mov    0x4(%edi),%eax
43efda:	6a 02                	push   $0x2
43efdc:	5e                   	pop    %esi
43efdd:	03 c6                	add    %esi,%eax
43efdf:	50                   	push   %eax
43efe0:	e8 8b 91 fc ff       	call   0x408170
43efe5:	33 c9                	xor    %ecx,%ecx
43efe7:	89 47 08             	mov    %eax,0x8(%edi)
43efea:	f7 e6                	mul    %esi
43efec:	0f 90 c1             	seto   %cl
43efef:	f7 d9                	neg    %ecx
43eff1:	0b c8                	or     %eax,%ecx
43eff3:	51                   	push   %ecx
43eff4:	e8 fd 1f fe ff       	call   0x420ff6
43eff9:	8b 4f 04             	mov    0x4(%edi),%ecx
43effc:	8b f0                	mov    %eax,%esi
43effe:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f005:	51                   	push   %ecx
43f006:	ff 37                	push   (%edi)
43f008:	56                   	push   %esi
43f009:	e8 72 20 fe ff       	call   0x421080
43f00e:	e9 06 8b fc ff       	jmp    0x407b19
43f013:	3d 00 00 00 02       	cmp    $0x2000000,%eax
43f018:	73 1e                	jae    0x43f038
43f01a:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f01d:	db 45 fc             	fildl  -0x4(%ebp)
43f020:	85 c0                	test   %eax,%eax
43f022:	79 06                	jns    0x43f02a
43f024:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43f02a:	dd 5d f8             	fstpl  -0x8(%ebp)
43f02d:	dd 45 f8             	fldl   -0x8(%ebp)
43f030:	dc 0d 10 6f 4b 00    	fmull  0x4b6f10
43f036:	eb 41                	jmp    0x43f079
43f038:	3d 00 00 00 08       	cmp    $0x8000000,%eax
43f03d:	73 1e                	jae    0x43f05d
43f03f:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f042:	db 45 fc             	fildl  -0x4(%ebp)
43f045:	85 c0                	test   %eax,%eax
43f047:	79 06                	jns    0x43f04f
43f049:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43f04f:	dd 5d f8             	fstpl  -0x8(%ebp)
43f052:	dd 45 f8             	fldl   -0x8(%ebp)
43f055:	dc 0d 08 6f 4b 00    	fmull  0x4b6f08
43f05b:	eb 1c                	jmp    0x43f079
43f05d:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f060:	db 45 fc             	fildl  -0x4(%ebp)
43f063:	85 c0                	test   %eax,%eax
43f065:	79 06                	jns    0x43f06d
43f067:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43f06d:	dd 5d f8             	fstpl  -0x8(%ebp)
43f070:	dd 45 f8             	fldl   -0x8(%ebp)
43f073:	dc 0d 00 6f 4b 00    	fmull  0x4b6f00
43f079:	e8 88 c5 ff ff       	call   0x43b606
43f07e:	e9 57 8a fc ff       	jmp    0x407ada
43f083:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
43f086:	3b 42 04             	cmp    0x4(%edx),%eax
43f089:	0f 86 49 8b fc ff    	jbe    0x407bd8
43f08f:	e9 3f 8b fc ff       	jmp    0x407bd3
43f094:	56                   	push   %esi
43f095:	8d 45 ec             	lea    -0x14(%ebp),%eax
43f098:	50                   	push   %eax
43f099:	e8 85 90 01 00       	call   0x458123
43f09e:	50                   	push   %eax
43f09f:	8b ce                	mov    %esi,%ecx
43f0a1:	e8 01 91 fc ff       	call   0x4081a7
43f0a6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43f0a9:	e8 b6 69 fc ff       	call   0x405a64
43f0ae:	8b c6                	mov    %esi,%eax
43f0b0:	e9 f7 8b fc ff       	jmp    0x407cac
43f0b5:	3d 00 00 00 02       	cmp    $0x2000000,%eax
43f0ba:	73 1e                	jae    0x43f0da
43f0bc:	89 45 08             	mov    %eax,0x8(%ebp)
43f0bf:	db 45 08             	fildl  0x8(%ebp)
43f0c2:	85 c0                	test   %eax,%eax
43f0c4:	79 06                	jns    0x43f0cc
43f0c6:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43f0cc:	dd 5d f8             	fstpl  -0x8(%ebp)
43f0cf:	dd 45 f8             	fldl   -0x8(%ebp)
43f0d2:	dc 0d 10 6f 4b 00    	fmull  0x4b6f10
43f0d8:	eb 41                	jmp    0x43f11b
43f0da:	3d 00 00 00 08       	cmp    $0x8000000,%eax
43f0df:	73 1e                	jae    0x43f0ff
43f0e1:	89 45 08             	mov    %eax,0x8(%ebp)
43f0e4:	db 45 08             	fildl  0x8(%ebp)
43f0e7:	85 c0                	test   %eax,%eax
43f0e9:	79 06                	jns    0x43f0f1
43f0eb:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43f0f1:	dd 5d f8             	fstpl  -0x8(%ebp)
43f0f4:	dd 45 f8             	fldl   -0x8(%ebp)
43f0f7:	dc 0d 08 6f 4b 00    	fmull  0x4b6f08
43f0fd:	eb 1c                	jmp    0x43f11b
43f0ff:	89 45 08             	mov    %eax,0x8(%ebp)
43f102:	db 45 08             	fildl  0x8(%ebp)
43f105:	85 c0                	test   %eax,%eax
43f107:	79 06                	jns    0x43f10f
43f109:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43f10f:	dd 5d f8             	fstpl  -0x8(%ebp)
43f112:	dd 45 f8             	fldl   -0x8(%ebp)
43f115:	dc 0d 00 6f 4b 00    	fmull  0x4b6f00
43f11b:	e8 e6 c4 ff ff       	call   0x43b606
43f120:	e9 b3 8b fc ff       	jmp    0x407cd8
43f125:	49                   	dec    %ecx
43f126:	89 08                	mov    %ecx,(%eax)
43f128:	8b cf                	mov    %edi,%ecx
43f12a:	56                   	push   %esi
43f12b:	e8 59 90 fc ff       	call   0x408189
43f130:	8b 47 04             	mov    0x4(%edi),%eax
43f133:	40                   	inc    %eax
43f134:	03 c3                	add    %ebx,%eax
43f136:	50                   	push   %eax
43f137:	e8 34 90 fc ff       	call   0x408170
43f13c:	33 c9                	xor    %ecx,%ecx
43f13e:	89 47 08             	mov    %eax,0x8(%edi)
43f141:	6a 02                	push   $0x2
43f143:	5a                   	pop    %edx
43f144:	f7 e2                	mul    %edx
43f146:	0f 90 c1             	seto   %cl
43f149:	f7 d9                	neg    %ecx
43f14b:	0b c8                	or     %eax,%ecx
43f14d:	51                   	push   %ecx
43f14e:	e8 52 1e fe ff       	call   0x420fa5
43f153:	8b 4f 04             	mov    0x4(%edi),%ecx
43f156:	8b f0                	mov    %eax,%esi
43f158:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f15f:	51                   	push   %ecx
43f160:	ff 37                	push   (%edi)
43f162:	56                   	push   %esi
43f163:	e8 18 1f fe ff       	call   0x421080
43f168:	83 c4 10             	add    $0x10,%esp
43f16b:	89 37                	mov    %esi,(%edi)
43f16d:	5e                   	pop    %esi
43f16e:	e9 6a 8c fc ff       	jmp    0x407ddd
43f173:	48                   	dec    %eax
43f174:	89 01                	mov    %eax,(%ecx)
43f176:	8b cf                	mov    %edi,%ecx
43f178:	56                   	push   %esi
43f179:	e8 0b 90 fc ff       	call   0x408189
43f17e:	ff 75 08             	push   0x8(%ebp)
43f181:	e8 b6 3c fe ff       	call   0x422e3c
43f186:	59                   	pop    %ecx
43f187:	8b 4f 04             	mov    0x4(%edi),%ecx
43f18a:	41                   	inc    %ecx
43f18b:	03 c1                	add    %ecx,%eax
43f18d:	50                   	push   %eax
43f18e:	e8 dd 8f fc ff       	call   0x408170
43f193:	33 c9                	xor    %ecx,%ecx
43f195:	89 47 08             	mov    %eax,0x8(%edi)
43f198:	6a 02                	push   $0x2
43f19a:	5a                   	pop    %edx
43f19b:	f7 e2                	mul    %edx
43f19d:	0f 90 c1             	seto   %cl
43f1a0:	f7 d9                	neg    %ecx
43f1a2:	0b c8                	or     %eax,%ecx
43f1a4:	51                   	push   %ecx
43f1a5:	e8 fb 1d fe ff       	call   0x420fa5
43f1aa:	8b 4f 04             	mov    0x4(%edi),%ecx
43f1ad:	8b f0                	mov    %eax,%esi
43f1af:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f1b6:	51                   	push   %ecx
43f1b7:	ff 37                	push   (%edi)
43f1b9:	56                   	push   %esi
43f1ba:	e8 c1 1e fe ff       	call   0x421080
43f1bf:	83 c4 10             	add    $0x10,%esp
43f1c2:	89 37                	mov    %esi,(%edi)
43f1c4:	5e                   	pop    %esi
43f1c5:	e9 55 8c fc ff       	jmp    0x407e1f
43f1ca:	8b 4e 04             	mov    0x4(%esi),%ecx
43f1cd:	8b 79 08             	mov    0x8(%ecx),%edi
43f1d0:	85 c9                	test   %ecx,%ecx
43f1d2:	74 06                	je     0x43f1da
43f1d4:	51                   	push   %ecx
43f1d5:	e8 40 75 01 00       	call   0x45671a
43f1da:	89 7e 04             	mov    %edi,0x4(%esi)
43f1dd:	c6 46 09 00          	movb   $0x0,0x9(%esi)
43f1e1:	e9 6c 92 fc ff       	jmp    0x408452
43f1e6:	8b 55 08             	mov    0x8(%ebp),%edx
43f1e9:	8b 77 04             	mov    0x4(%edi),%esi
43f1ec:	8b 02                	mov    (%edx),%eax
43f1ee:	89 06                	mov    %eax,(%esi)
43f1f0:	8b 42 04             	mov    0x4(%edx),%eax
43f1f3:	89 46 04             	mov    %eax,0x4(%esi)
43f1f6:	c6 47 09 00          	movb   $0x0,0x9(%edi)
43f1fa:	e9 1f 93 fc ff       	jmp    0x40851e
43f1ff:	8b 71 08             	mov    0x8(%ecx),%esi
43f202:	51                   	push   %ecx
43f203:	e8 12 75 01 00       	call   0x45671a
43f208:	8b ce                	mov    %esi,%ecx
43f20a:	85 f6                	test   %esi,%esi
43f20c:	75 f1                	jne    0x43f1ff
43f20e:	5e                   	pop    %esi
43f20f:	e9 26 93 fc ff       	jmp    0x40853a
43f214:	48                   	dec    %eax
43f215:	0f 84 be 93 fc ff    	je     0x4085d9
43f21b:	83 e8 0e             	sub    $0xe,%eax
43f21e:	0f 85 a3 93 fc ff    	jne    0x4085c7
43f224:	b9 78 72 4c 00       	mov    $0x4c7278,%ecx
43f229:	e9 b0 93 fc ff       	jmp    0x4085de
43f22e:	ff 75 0c             	push   0xc(%ebp)
43f231:	b9 80 72 4c 00       	mov    $0x4c7280,%ecx
43f236:	ff 75 08             	push   0x8(%ebp)
43f239:	e8 cf 74 01 00       	call   0x45670d
43f23e:	8b c8                	mov    %eax,%ecx
43f240:	e8 6d 99 fc ff       	call   0x408bb2
43f245:	8b c8                	mov    %eax,%ecx
43f247:	85 c9                	test   %ecx,%ecx
43f249:	0f 85 78 93 fc ff    	jne    0x4085c7
43f24f:	e9 85 93 fc ff       	jmp    0x4085d9
43f254:	8b 45 10             	mov    0x10(%ebp),%eax
43f257:	b9 78 72 4c 00       	mov    $0x4c7278,%ecx
43f25c:	0d 00 04 00 00       	or     $0x400,%eax
43f261:	50                   	push   %eax
43f262:	ff 75 0c             	push   0xc(%ebp)
43f265:	ff 75 08             	push   0x8(%ebp)
43f268:	e9 e0 93 fc ff       	jmp    0x40864d
43f26d:	48                   	dec    %eax
43f26e:	0f 84 a2 94 fc ff    	je     0x408716
43f274:	83 e8 0e             	sub    $0xe,%eax
43f277:	0f 85 80 94 fc ff    	jne    0x4086fd
43f27d:	b9 78 72 4c 00       	mov    $0x4c7278,%ecx
43f282:	ff 75 0c             	push   0xc(%ebp)
43f285:	ff 75 08             	push   0x8(%ebp)
43f288:	e8 25 99 fc ff       	call   0x408bb2
43f28d:	e9 64 94 fc ff       	jmp    0x4086f6
43f292:	39 1d 80 72 4c 00    	cmp    %ebx,0x4c7280
43f298:	0f 84 78 94 fc ff    	je     0x408716
43f29e:	ff 75 0c             	push   0xc(%ebp)
43f2a1:	b9 80 72 4c 00       	mov    $0x4c7280,%ecx
43f2a6:	ff 75 08             	push   0x8(%ebp)
43f2a9:	e8 5f 74 01 00       	call   0x45670d
43f2ae:	8b c8                	mov    %eax,%ecx
43f2b0:	e8 fd 98 fc ff       	call   0x408bb2
43f2b5:	85 c0                	test   %eax,%eax
43f2b7:	0f 85 3d 94 fc ff    	jne    0x4086fa
43f2bd:	e9 54 94 fc ff       	jmp    0x408716
43f2c2:	6a 20                	push   $0x20
43f2c4:	e8 2d 1d fe ff       	call   0x420ff6
43f2c9:	8b f8                	mov    %eax,%edi
43f2cb:	59                   	pop    %ecx
43f2cc:	85 ff                	test   %edi,%edi
43f2ce:	74 09                	je     0x43f2d9
43f2d0:	8b cf                	mov    %edi,%ecx
43f2d2:	e8 f0 84 fc ff       	call   0x4077c7
43f2d7:	eb 02                	jmp    0x43f2db
43f2d9:	33 ff                	xor    %edi,%edi
43f2db:	53                   	push   %ebx
43f2dc:	8b cf                	mov    %edi,%ecx
43f2de:	89 3e                	mov    %edi,(%esi)
43f2e0:	e8 c2 8e fc ff       	call   0x4081a7
43f2e5:	8b 0e                	mov    (%esi),%ecx
43f2e7:	8b 43 10             	mov    0x10(%ebx),%eax
43f2ea:	89 41 10             	mov    %eax,0x10(%ecx)
43f2ed:	8b 0e                	mov    (%esi),%ecx
43f2ef:	8b 43 14             	mov    0x14(%ebx),%eax
43f2f2:	89 41 14             	mov    %eax,0x14(%ecx)
43f2f5:	8b 06                	mov    (%esi),%eax
43f2f7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43f2fa:	83 60 18 00          	andl   $0x0,0x18(%eax)
43f2fe:	8b 06                	mov    (%esi),%eax
43f300:	83 60 1c 00          	andl   $0x0,0x1c(%eax)
43f304:	8b 06                	mov    (%esi),%eax
43f306:	ff 73 18             	push   0x18(%ebx)
43f309:	83 c0 18             	add    $0x18,%eax
43f30c:	50                   	push   %eax
43f30d:	e8 82 94 fc ff       	call   0x408794
43f312:	8b 36                	mov    (%esi),%esi
43f314:	8b 5b 1c             	mov    0x1c(%ebx),%ebx
43f317:	83 c6 1c             	add    $0x1c,%esi
43f31a:	e9 85 94 fc ff       	jmp    0x4087a4
43f31f:	85 c9                	test   %ecx,%ecx
43f321:	0f 85 5d 96 fc ff    	jne    0x408984
43f327:	85 db                	test   %ebx,%ebx
43f329:	0f 85 0c 96 fc ff    	jne    0x40893b
43f32f:	e9 cf 95 fc ff       	jmp    0x408903
43f334:	8b cf                	mov    %edi,%ecx
43f336:	e8 0b aa fc ff       	call   0x409d46
43f33b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43f33e:	8b f0                	mov    %eax,%esi
43f340:	8b fa                	mov    %edx,%edi
43f342:	e8 ff a9 fc ff       	call   0x409d46
43f347:	3b f0                	cmp    %eax,%esi
43f349:	0f 85 16 99 fc ff    	jne    0x408c65
43f34f:	3b fa                	cmp    %edx,%edi
43f351:	0f 85 0e 99 fc ff    	jne    0x408c65
43f357:	e9 30 99 fc ff       	jmp    0x408c8c
43f35c:	8b cf                	mov    %edi,%ecx
43f35e:	e8 58 96 02 00       	call   0x4689bb
43f363:	8b ce                	mov    %esi,%ecx
43f365:	8b d8                	mov    %eax,%ebx
43f367:	e8 4f 96 02 00       	call   0x4689bb
43f36c:	e9 ac 98 fc ff       	jmp    0x408c1d
43f371:	8b cf                	mov    %edi,%ecx
43f373:	e8 19 96 02 00       	call   0x468991
43f378:	8b ce                	mov    %esi,%ecx
43f37a:	8b d0                	mov    %eax,%edx
43f37c:	e8 10 96 02 00       	call   0x468991
43f381:	eb 10                	jmp    0x43f393
43f383:	8b cf                	mov    %edi,%ecx
43f385:	e8 0b 88 02 00       	call   0x467b95
43f38a:	8b ce                	mov    %esi,%ecx
43f38c:	8b d0                	mov    %eax,%edx
43f38e:	e8 02 88 02 00       	call   0x467b95
43f393:	2b d0                	sub    %eax,%edx
43f395:	f7 da                	neg    %edx
43f397:	1b d2                	sbb    %edx,%edx
43f399:	42                   	inc    %edx
43f39a:	8a c2                	mov    %dl,%al
43f39c:	e9 85 98 fc ff       	jmp    0x408c26
43f3a1:	33 db                	xor    %ebx,%ebx
43f3a3:	83 fa 08             	cmp    $0x8,%edx
43f3a6:	75 04                	jne    0x43f3ac
43f3a8:	8b 07                	mov    (%edi),%eax
43f3aa:	eb 02                	jmp    0x43f3ae
43f3ac:	8b c3                	mov    %ebx,%eax
43f3ae:	85 c0                	test   %eax,%eax
43f3b0:	0f 84 6e 98 fc ff    	je     0x408c24
43f3b6:	83 f9 08             	cmp    $0x8,%ecx
43f3b9:	75 04                	jne    0x43f3bf
43f3bb:	8b 06                	mov    (%esi),%eax
43f3bd:	eb 02                	jmp    0x43f3c1
43f3bf:	8b c3                	mov    %ebx,%eax
43f3c1:	85 c0                	test   %eax,%eax
43f3c3:	0f 84 5b 98 fc ff    	je     0x408c24
43f3c9:	83 f9 08             	cmp    $0x8,%ecx
43f3cc:	75 04                	jne    0x43f3d2
43f3ce:	8b 06                	mov    (%esi),%eax
43f3d0:	eb 02                	jmp    0x43f3d4
43f3d2:	8b c3                	mov    %ebx,%eax
43f3d4:	83 fa 08             	cmp    $0x8,%edx
43f3d7:	75 04                	jne    0x43f3dd
43f3d9:	8b 0f                	mov    (%edi),%ecx
43f3db:	eb 02                	jmp    0x43f3df
43f3dd:	8b cb                	mov    %ebx,%ecx
43f3df:	8b d0                	mov    %eax,%edx
43f3e1:	e8 a4 84 02 00       	call   0x46788a
43f3e6:	84 c0                	test   %al,%al
43f3e8:	0f 84 36 98 fc ff    	je     0x408c24
43f3ee:	33 db                	xor    %ebx,%ebx
43f3f0:	43                   	inc    %ebx
43f3f1:	e9 2e 98 fc ff       	jmp    0x408c24
43f3f6:	83 fa 0b             	cmp    $0xb,%edx
43f3f9:	75 43                	jne    0x43f43e
43f3fb:	3b ca                	cmp    %edx,%ecx
43f3fd:	75 3f                	jne    0x43f43e
43f3ff:	8b cf                	mov    %edi,%ecx
43f401:	e8 dc 95 02 00       	call   0x4689e2