45d02e:	50                   	push   %eax
45d02f:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45d035:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
45d039:	8b 45 bc             	mov    -0x44(%ebp),%eax
45d03c:	85 c0                	test   %eax,%eax
45d03e:	74 10                	je     0x45d050
45d040:	8b 08                	mov    (%eax),%ecx
45d042:	50                   	push   %eax
45d043:	8b 71 08             	mov    0x8(%ecx),%esi
45d046:	8b ce                	mov    %esi,%ecx
45d048:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d04e:	ff d6                	call   *%esi
45d050:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
45d054:	8b 45 b8             	mov    -0x48(%ebp),%eax
45d057:	85 c0                	test   %eax,%eax
45d059:	74 10                	je     0x45d06b
45d05b:	8b 08                	mov    (%eax),%ecx
45d05d:	50                   	push   %eax
45d05e:	8b 71 08             	mov    0x8(%ecx),%esi
45d061:	8b ce                	mov    %esi,%ecx
45d063:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d069:	ff d6                	call   *%esi
45d06b:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
45d06f:	8b 45 d8             	mov    -0x28(%ebp),%eax
45d072:	85 c0                	test   %eax,%eax
45d074:	74 10                	je     0x45d086
45d076:	8b 08                	mov    (%eax),%ecx
45d078:	50                   	push   %eax
45d079:	8b 71 08             	mov    0x8(%ecx),%esi
45d07c:	8b ce                	mov    %esi,%ecx
45d07e:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d084:	ff d6                	call   *%esi
45d086:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
45d08a:	8b 45 c8             	mov    -0x38(%ebp),%eax
45d08d:	85 c0                	test   %eax,%eax
45d08f:	74 10                	je     0x45d0a1
45d091:	8b 08                	mov    (%eax),%ecx
45d093:	50                   	push   %eax
45d094:	8b 71 08             	mov    0x8(%ecx),%esi
45d097:	8b ce                	mov    %esi,%ecx
45d099:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d09f:	ff d6                	call   *%esi
45d0a1:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
45d0a5:	8b 45 d0             	mov    -0x30(%ebp),%eax
45d0a8:	85 c0                	test   %eax,%eax
45d0aa:	74 10                	je     0x45d0bc
45d0ac:	8b 08                	mov    (%eax),%ecx
45d0ae:	50                   	push   %eax
45d0af:	8b 71 08             	mov    0x8(%ecx),%esi
45d0b2:	8b ce                	mov    %esi,%ecx
45d0b4:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d0ba:	ff d6                	call   *%esi
45d0bc:	c7 45 fc 11 00 00 00 	movl   $0x11,-0x4(%ebp)
45d0c3:	8b 45 cc             	mov    -0x34(%ebp),%eax
45d0c6:	85 c0                	test   %eax,%eax
45d0c8:	74 10                	je     0x45d0da
45d0ca:	8b 08                	mov    (%eax),%ecx
45d0cc:	50                   	push   %eax
45d0cd:	8b 71 08             	mov    0x8(%ecx),%esi
45d0d0:	8b ce                	mov    %esi,%ecx
45d0d2:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d0d8:	ff d6                	call   *%esi
45d0da:	e8 d6 33 03 00       	call   0x4904b5
45d0df:	c2 14 00             	ret    $0x14
45d0e2:	6a 34                	push   $0x34
45d0e4:	b8 ec 44 49 00       	mov    $0x4944ec,%eax
45d0e9:	e8 e5 33 03 00       	call   0x4904d3
45d0ee:	8b fa                	mov    %edx,%edi
45d0f0:	89 4d d0             	mov    %ecx,-0x30(%ebp)
45d0f3:	8b 45 0c             	mov    0xc(%ebp),%eax
45d0f6:	8b 48 04             	mov    0x4(%eax),%ecx
45d0f9:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
45d0fc:	8b 41 2c             	mov    0x2c(%ecx),%eax
45d0ff:	8b 71 30             	mov    0x30(%ecx),%esi
45d102:	89 45 dc             	mov    %eax,-0x24(%ebp)
45d105:	db 45 dc             	fildl  -0x24(%ebp)
45d108:	85 c0                	test   %eax,%eax
45d10a:	79 06                	jns    0x45d112
45d10c:	dc 05 10 43 41 00    	faddl  0x414310
45d112:	dd 5d d8             	fstpl  -0x28(%ebp)
45d115:	dd 45 d8             	fldl   -0x28(%ebp)
45d118:	89 75 dc             	mov    %esi,-0x24(%ebp)
45d11b:	db 45 dc             	fildl  -0x24(%ebp)
45d11e:	85 f6                	test   %esi,%esi
45d120:	79 06                	jns    0x45d128
45d122:	dc 05 10 43 41 00    	faddl  0x414310
45d128:	dd 5d d8             	fstpl  -0x28(%ebp)
45d12b:	dd 45 d8             	fldl   -0x28(%ebp)
45d12e:	33 db                	xor    %ebx,%ebx
45d130:	d9 c1                	fld    %st(1)
45d132:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
45d136:	d8 f1                	fdiv   %st(1),%st
45d138:	d9 c2                	fld    %st(2)
45d13a:	dc 35 a8 42 41 00    	fdivl  0x4142a8
45d140:	d9 c2                	fld    %st(2)
45d142:	dc 35 a0 42 41 00    	fdivl  0x4142a0
45d148:	d9 e8                	fld1
45d14a:	d8 d2                	fcom   %st(2)
45d14c:	df e0                	fnstsw %ax
45d14e:	f6 c4 41             	test   $0x41,%ah
45d151:	75 1a                	jne    0x45d16d
45d153:	d8 d1                	fcom   %st(1)
45d155:	df e0                	fnstsw %ax
45d157:	f6 c4 41             	test   $0x41,%ah
45d15a:	75 11                	jne    0x45d16d
45d15c:	dd d9                	fstp   %st(1)
45d15e:	88 5d f3             	mov    %bl,-0xd(%ebp)
45d161:	dd d8                	fstp   %st(0)
45d163:	dd d8                	fstp   %st(0)
45d165:	dd d8                	fstp   %st(0)
45d167:	dd d9                	fstp   %st(1)
45d169:	dd d8                	fstp   %st(0)
45d16b:	eb 66                	jmp    0x45d1d3
45d16d:	dd 05 c8 41 41 00    	fldl   0x4141c8
45d173:	d8 dc                	fcomp  %st(4)
45d175:	df e0                	fnstsw %ax
45d177:	f6 c4 05             	test   $0x5,%ah
45d17a:	7a 2b                	jp     0x45d1a7
45d17c:	dd 05 d0 41 41 00    	fldl   0x4141d0
45d182:	d8 dc                	fcomp  %st(4)
45d184:	df e0                	fnstsw %ax
45d186:	dd db                	fstp   %st(3)
45d188:	f6 c4 41             	test   $0x41,%ah
45d18b:	75 1c                	jne    0x45d1a9
45d18d:	dd d8                	fstp   %st(0)
45d18f:	c7 45 dc a0 00 00 00 	movl   $0xa0,-0x24(%ebp)
45d196:	dd d9                	fstp   %st(1)
45d198:	c7 45 e4 78 00 00 00 	movl   $0x78,-0x1c(%ebp)
45d19f:	dd d8                	fstp   %st(0)
45d1a1:	dd d9                	fstp   %st(1)
45d1a3:	dd d8                	fstp   %st(0)
45d1a5:	eb 2c                	jmp    0x45d1d3
45d1a7:	dd db                	fstp   %st(3)
45d1a9:	d8 d1                	fcom   %st(1)
45d1ab:	df e0                	fnstsw %ax
45d1ad:	f6 c4 41             	test   $0x41,%ah
45d1b0:	7a 04                	jp     0x45d1b6
45d1b2:	dd d8                	fstp   %st(0)
45d1b4:	eb 02                	jmp    0x45d1b8
45d1b6:	dd d9                	fstp   %st(1)
45d1b8:	de f9                	fdivrp %st,%st(1)
45d1ba:	dc ca                	fmul   %st,%st(2)
45d1bc:	d9 ca                	fxch   %st(2)
45d1be:	e8 58 3e 03 00       	call   0x49101b
45d1c3:	de c9                	fmulp  %st,%st(1)
45d1c5:	89 45 dc             	mov    %eax,-0x24(%ebp)
45d1c8:	e8 4e 3e 03 00       	call   0x49101b
45d1cd:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
45d1d0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45d1d3:	89 5d ec             	mov    %ebx,-0x14(%ebp)
45d1d6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45d1d9:	8d 45 ec             	lea    -0x14(%ebp),%eax
45d1dc:	8b 5d 08             	mov    0x8(%ebp),%ebx
45d1df:	50                   	push   %eax
45d1e0:	6a 02                	push   $0x2
45d1e2:	ff 71 24             	push   0x24(%ecx)
45d1e5:	8b 33                	mov    (%ebx),%esi
45d1e7:	ff 71 14             	push   0x14(%ecx)
45d1ea:	53                   	push   %ebx
45d1eb:	8b 4e 54             	mov    0x54(%esi),%ecx
45d1ee:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d1f4:	ff 56 54             	call   *0x54(%esi)
45d1f7:	85 c0                	test   %eax,%eax
45d1f9:	0f 88 c6 00 00 00    	js     0x45d2c5
45d1ff:	8b 45 d0             	mov    -0x30(%ebp),%eax
45d202:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d205:	51                   	push   %ecx
45d206:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45d209:	51                   	push   %ecx
45d20a:	8b 30                	mov    (%eax),%esi
45d20c:	50                   	push   %eax
45d20d:	8b 4e 14             	mov    0x14(%esi),%ecx
45d210:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d216:	ff 56 14             	call   *0x14(%esi)
45d219:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d21c:	83 ec 10             	sub    $0x10,%esp
45d21f:	dd 45 c8             	fldl   -0x38(%ebp)
45d222:	8b 30                	mov    (%eax),%esi
45d224:	dd 5c 24 08          	fstpl  0x8(%esp)
45d228:	dd 45 c0             	fldl   -0x40(%ebp)
45d22b:	dd 1c 24             	fstpl  (%esp)
45d22e:	8b 4e 28             	mov    0x28(%esi),%ecx
45d231:	50                   	push   %eax
45d232:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d238:	ff 56 28             	call   *0x28(%esi)
45d23b:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
45d23f:	74 71                	je     0x45d2b2
45d241:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
45d245:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45d249:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45d24c:	8b 03                	mov    (%ebx),%eax
45d24e:	51                   	push   %ecx
45d24f:	53                   	push   %ebx
45d250:	8b 70 2c             	mov    0x2c(%eax),%esi
45d253:	8b ce                	mov    %esi,%ecx
45d255:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d25b:	ff d6                	call   *%esi
45d25d:	85 c0                	test   %eax,%eax
45d25f:	78 34                	js     0x45d295
45d261:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d264:	6a 01                	push   $0x1
45d266:	ff 75 e4             	push   -0x1c(%ebp)
45d269:	ff 75 dc             	push   -0x24(%ebp)
45d26c:	8b 30                	mov    (%eax),%esi
45d26e:	ff 75 ec             	push   -0x14(%ebp)
45d271:	50                   	push   %eax
45d272:	8b 4e 20             	mov    0x20(%esi),%ecx
45d275:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d27b:	ff 56 20             	call   *0x20(%esi)
45d27e:	85 c0                	test   %eax,%eax
45d280:	78 13                	js     0x45d295
45d282:	8b 07                	mov    (%edi),%eax
45d284:	ff 75 e8             	push   -0x18(%ebp)
45d287:	57                   	push   %edi
45d288:	8b 70 24             	mov    0x24(%eax),%esi
45d28b:	8b ce                	mov    %esi,%ecx
45d28d:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d293:	ff d6                	call   *%esi
45d295:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45d299:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d29c:	85 c0                	test   %eax,%eax
45d29e:	74 25                	je     0x45d2c5
45d2a0:	8b 08                	mov    (%eax),%ecx
45d2a2:	50                   	push   %eax
45d2a3:	8b 71 08             	mov    0x8(%ecx),%esi
45d2a6:	8b ce                	mov    %esi,%ecx
45d2a8:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d2ae:	ff d6                	call   *%esi
45d2b0:	eb 13                	jmp    0x45d2c5
45d2b2:	8b 07                	mov    (%edi),%eax
45d2b4:	ff 75 ec             	push   -0x14(%ebp)
45d2b7:	57                   	push   %edi
45d2b8:	8b 70 24             	mov    0x24(%eax),%esi
45d2bb:	8b ce                	mov    %esi,%ecx
45d2bd:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d2c3:	ff d6                	call   *%esi
45d2c5:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
45d2cc:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d2cf:	85 c0                	test   %eax,%eax
45d2d1:	74 10                	je     0x45d2e3
45d2d3:	8b 08                	mov    (%eax),%ecx
45d2d5:	50                   	push   %eax
45d2d6:	8b 71 08             	mov    0x8(%ecx),%esi
45d2d9:	8b ce                	mov    %esi,%ecx
45d2db:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d2e1:	ff d6                	call   *%esi
45d2e3:	e8 b9 31 03 00       	call   0x4904a1
45d2e8:	c2 08 00             	ret    $0x8
45d2eb:	6a 2c                	push   $0x2c
45d2ed:	b8 10 45 49 00       	mov    $0x494510,%eax
45d2f2:	e8 45 32 03 00       	call   0x49053c
45d2f7:	89 55 e8             	mov    %edx,-0x18(%ebp)
45d2fa:	8b f1                	mov    %ecx,%esi
45d2fc:	33 db                	xor    %ebx,%ebx
45d2fe:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d301:	89 5d ec             	mov    %ebx,-0x14(%ebp)
45d304:	89 5d dc             	mov    %ebx,-0x24(%ebp)
45d307:	ff 15 5c 75 4a 00    	call   *0x4a755c
45d30d:	21 5d fc             	and    %ebx,-0x4(%ebp)
45d310:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d313:	53                   	push   %ebx
45d314:	6a 02                	push   $0x2
45d316:	56                   	push   %esi
45d317:	ff 15 78 75 4a 00    	call   *0x4a7578
45d31d:	85 c0                	test   %eax,%eax
45d31f:	0f 84 07 01 00 00    	je     0x45d42c
45d325:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d328:	ff 15 48 77 4a 00    	call   *0x4a7748
45d32e:	8b f8                	mov    %eax,%edi
45d330:	83 ff 02             	cmp    $0x2,%edi
45d333:	0f 86 ea 00 00 00    	jbe    0x45d423
45d339:	57                   	push   %edi
45d33a:	33 f6                	xor    %esi,%esi
45d33c:	56                   	push   %esi
45d33d:	ff 15 f4 71 4a 00    	call   *0x4a71f4
45d343:	8b d8                	mov    %eax,%ebx
45d345:	85 db                	test   %ebx,%ebx
45d347:	0f 84 d3 00 00 00    	je     0x45d420
45d34d:	57                   	push   %edi
45d34e:	53                   	push   %ebx
45d34f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d352:	ff 15 4c 77 4a 00    	call   *0x4a774c
45d358:	3b c7                	cmp    %edi,%eax
45d35a:	0f 85 c0 00 00 00    	jne    0x45d420
45d360:	66 8b 03             	mov    (%ebx),%ax
45d363:	b9 c4 0b 41 00       	mov    $0x410bc4,%ecx
45d368:	66 3b 01             	cmp    (%ecx),%ax
45d36b:	0f 85 af 00 00 00    	jne    0x45d420
45d371:	8d 47 fc             	lea    -0x4(%edi),%eax
45d374:	83 f8 02             	cmp    $0x2,%eax
45d377:	0f 86 a3 00 00 00    	jbe    0x45d420
45d37d:	66 8b 43 02          	mov    0x2(%ebx),%ax
45d381:	b9 c0 0b 41 00       	mov    $0x410bc0,%ecx
45d386:	66 3b 01             	cmp    (%ecx),%ax
45d389:	0f 85 91 00 00 00    	jne    0x45d420
45d38f:	0f b6 4b 04          	movzbl 0x4(%ebx),%ecx
45d393:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
45d397:	83 c0 02             	add    $0x2,%eax
45d39a:	c1 e1 08             	shl    $0x8,%ecx
45d39d:	03 c8                	add    %eax,%ecx
45d39f:	8b c7                	mov    %edi,%eax
45d3a1:	2b c1                	sub    %ecx,%eax
45d3a3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45d3a6:	83 f8 02             	cmp    $0x2,%eax
45d3a9:	76 75                	jbe    0x45d420
45d3ab:	33 c0                	xor    %eax,%eax
45d3ad:	40                   	inc    %eax
45d3ae:	88 45 fc             	mov    %al,-0x4(%ebp)
45d3b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d3b4:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d3b7:	0f b6 48 02          	movzbl 0x2(%eax),%ecx
45d3bb:	0f b6 40 03          	movzbl 0x3(%eax),%eax
45d3bf:	c1 e1 08             	shl    $0x8,%ecx
45d3c2:	83 c0 02             	add    $0x2,%eax
45d3c5:	03 c1                	add    %ecx,%eax
45d3c7:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d3ca:	89 45 e0             	mov    %eax,-0x20(%ebp)
45d3cd:	03 c7                	add    %edi,%eax
45d3cf:	50                   	push   %eax
45d3d0:	ff 15 80 7b 4a 00    	call   *0x4a7b80
45d3d6:	8b 45 c8             	mov    -0x38(%ebp),%eax
45d3d9:	56                   	push   %esi
45d3da:	56                   	push   %esi
45d3db:	8b 70 30             	mov    0x30(%eax),%esi
45d3de:	8b ce                	mov    %esi,%ecx
45d3e0:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d3e6:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d3e9:	ff d6                	call   *%esi
45d3eb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
45d3ee:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d3f1:	83 c6 02             	add    $0x2,%esi
45d3f4:	56                   	push   %esi
45d3f5:	53                   	push   %ebx
45d3f6:	ff 15 84 7b 4a 00    	call   *0x4a7b84
45d3fc:	ff 75 e0             	push   -0x20(%ebp)
45d3ff:	8b 55 e8             	mov    -0x18(%ebp),%edx
45d402:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d405:	52                   	push   %edx
45d406:	ff 15 84 7b 4a 00    	call   *0x4a7b84
45d40c:	2b fe                	sub    %esi,%edi
45d40e:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
45d411:	57                   	push   %edi
45d412:	50                   	push   %eax
45d413:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d416:	ff 15 84 7b 4a 00    	call   *0x4a7b84
45d41c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45d420:	8b 5d ec             	mov    -0x14(%ebp),%ebx
45d423:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d426:	ff 15 50 77 4a 00    	call   *0x4a7750
45d42c:	8d 4d c8             	lea    -0x38(%ebp),%ecx