43de5c:	8b c6                	mov    %esi,%eax
43de5e:	e8 3e 26 05 00       	call   0x4904a1
43de63:	c2 04 00             	ret    $0x4
43de66:	8b ff                	mov    %edi,%edi
43de68:	55                   	push   %ebp
43de69:	8b ec                	mov    %esp,%ebp
43de6b:	83 ec 0c             	sub    $0xc,%esp
43de6e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43de72:	56                   	push   %esi
43de73:	57                   	push   %edi
43de74:	8b f1                	mov    %ecx,%esi
43de76:	74 53                	je     0x43decb
43de78:	53                   	push   %ebx
43de79:	6a 20                	push   $0x20
43de7b:	58                   	pop    %eax
43de7c:	89 45 f4             	mov    %eax,-0xc(%ebp)
43de7f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43de82:	89 45 f8             	mov    %eax,-0x8(%ebp)
43de85:	33 db                	xor    %ebx,%ebx
43de87:	8d 45 f4             	lea    -0xc(%ebp),%eax
43de8a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43de8d:	50                   	push   %eax
43de8e:	e8 80 00 00 00       	call   0x43df13
43de93:	6a 0c                	push   $0xc
43de95:	ff 15 08 c0 4a 00    	call   *0x4ac008
43de9b:	89 45 f8             	mov    %eax,-0x8(%ebp)
43de9e:	8b 7d fc             	mov    -0x4(%ebp),%edi
43dea1:	85 c0                	test   %eax,%eax
43dea3:	74 0b                	je     0x43deb0
43dea5:	51                   	push   %ecx
43dea6:	57                   	push   %edi
43dea7:	8b c8                	mov    %eax,%ecx
43dea9:	e8 4b 86 fe ff       	call   0x4264f9
43deae:	8b d8                	mov    %eax,%ebx
43deb0:	89 1e                	mov    %ebx,(%esi)
43deb2:	5b                   	pop    %ebx
43deb3:	85 ff                	test   %edi,%edi
43deb5:	74 56                	je     0x43df0d
43deb7:	8b 07                	mov    (%edi),%eax
43deb9:	6a 01                	push   $0x1
43debb:	8b 30                	mov    (%eax),%esi
43debd:	8b ce                	mov    %esi,%ecx
43debf:	ff 15 2c 81 4a 00    	call   *0x4a812c
43dec5:	8b cf                	mov    %edi,%ecx
43dec7:	ff d6                	call   *%esi
43dec9:	eb 42                	jmp    0x43df0d
43decb:	0f b6 ca             	movzbl %dl,%ecx
43dece:	81 c9 00 ff ff ff    	or     $0xffffff00,%ecx
43ded4:	0f b7 c2             	movzwl %dx,%eax
43ded7:	c1 e1 08             	shl    $0x8,%ecx
43deda:	c1 e8 08             	shr    $0x8,%eax
43dedd:	0b c8                	or     %eax,%ecx
43dedf:	c1 ea 10             	shr    $0x10,%edx
43dee2:	c1 e1 08             	shl    $0x8,%ecx
43dee5:	0f b6 c2             	movzbl %dl,%eax
43dee8:	0b c8                	or     %eax,%ecx
43deea:	6a 0c                	push   $0xc
43deec:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43deef:	ff 15 08 c0 4a 00    	call   *0x4ac008
43def5:	89 45 f8             	mov    %eax,-0x8(%ebp)
43def8:	85 c0                	test   %eax,%eax
43defa:	74 0d                	je     0x43df09
43defc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43deff:	51                   	push   %ecx
43df00:	8b c8                	mov    %eax,%ecx
43df02:	e8 1f cb ff ff       	call   0x43aa26
43df07:	eb 02                	jmp    0x43df0b
43df09:	33 c0                	xor    %eax,%eax
43df0b:	89 06                	mov    %eax,(%esi)
43df0d:	5f                   	pop    %edi
43df0e:	5e                   	pop    %esi
43df0f:	c9                   	leave
43df10:	c2 04 00             	ret    $0x4
43df13:	6a 28                	push   $0x28
43df15:	b8 f2 2c 49 00       	mov    $0x492cf2,%eax
43df1a:	e8 b4 25 05 00       	call   0x4904d3
43df1f:	8b fa                	mov    %edx,%edi
43df21:	89 4d ec             	mov    %ecx,-0x14(%ebp)
43df24:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43df27:	ff 15 80 75 4a 00    	call   *0x4a7580
43df2d:	33 db                	xor    %ebx,%ebx
43df2f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43df32:	89 5d e8             	mov    %ebx,-0x18(%ebp)
43df35:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
43df3c:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43df3f:	c7 45 dc c0 15 40 00 	movl   $0x4015c0,-0x24(%ebp)
43df46:	53                   	push   %ebx
43df47:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
43df4b:	ff 15 74 71 4a 00    	call   *0x4a7174
43df51:	50                   	push   %eax
43df52:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43df55:	ff 15 88 75 4a 00    	call   *0x4a7588
43df5b:	8b 75 08             	mov    0x8(%ebp),%esi
43df5e:	53                   	push   %ebx
43df5f:	6a 01                	push   $0x1
43df61:	6a 01                	push   $0x1
43df63:	ff 76 04             	push   0x4(%esi)
43df66:	ff 36                	push   (%esi)
43df68:	ff 15 5c 71 4a 00    	call   *0x4a715c
43df6e:	50                   	push   %eax
43df6f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43df72:	ff 15 8c 75 4a 00    	call   *0x4a758c
43df78:	57                   	push   %edi
43df79:	ff 15 40 71 4a 00    	call   *0x4a7140
43df7f:	50                   	push   %eax
43df80:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43df83:	ff 15 8c 75 4a 00    	call   *0x4a758c
43df89:	ff 75 e8             	push   -0x18(%ebp)
43df8c:	ff 75 d0             	push   -0x30(%ebp)
43df8f:	ff 15 90 75 4a 00    	call   *0x4a7590
43df95:	8b f8                	mov    %eax,%edi
43df97:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43df9a:	8d 45 dc             	lea    -0x24(%ebp),%eax
43df9d:	50                   	push   %eax
43df9e:	ff 15 f0 76 4a 00    	call   *0x4a76f0
43dfa4:	ff 76 04             	push   0x4(%esi)
43dfa7:	8b d8                	mov    %eax,%ebx
43dfa9:	ff 36                	push   (%esi)
43dfab:	6a 00                	push   $0x0
43dfad:	6a 00                	push   $0x0
43dfaf:	ff 75 d0             	push   -0x30(%ebp)
43dfb2:	ff 15 f4 70 4a 00    	call   *0x4a70f4
43dfb8:	85 ff                	test   %edi,%edi
43dfba:	75 04                	jne    0x43dfc0
43dfbc:	33 c0                	xor    %eax,%eax
43dfbe:	eb 03                	jmp    0x43dfc3
43dfc0:	8b 47 04             	mov    0x4(%edi),%eax
43dfc3:	50                   	push   %eax
43dfc4:	ff 75 d0             	push   -0x30(%ebp)
43dfc7:	ff 15 90 75 4a 00    	call   *0x4a7590
43dfcd:	53                   	push   %ebx
43dfce:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43dfd1:	ff 15 f0 76 4a 00    	call   *0x4a76f0
43dfd7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43dfda:	ff 15 28 75 4a 00    	call   *0x4a7528
43dfe0:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43dfe3:	ff 15 9c 75 4a 00    	call   *0x4a759c
43dfe9:	6a 10                	push   $0x10
43dfeb:	ff 15 08 c0 4a 00    	call   *0x4ac008
43dff1:	8b f0                	mov    %eax,%esi
43dff3:	89 75 f0             	mov    %esi,-0x10(%ebp)
43dff6:	85 f6                	test   %esi,%esi
43dff8:	74 25                	je     0x43e01f
43dffa:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43dffd:	8d 45 f0             	lea    -0x10(%ebp),%eax
43e000:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
43e004:	50                   	push   %eax
43e005:	6a 00                	push   $0x0
43e007:	51                   	push   %ecx
43e008:	c7 06 b4 15 40 00    	movl   $0x4015b4,(%esi)
43e00e:	ff 15 bc c0 4a 00    	call   *0x4ac0bc
43e014:	89 46 08             	mov    %eax,0x8(%esi)
43e017:	8b 45 f0             	mov    -0x10(%ebp),%eax
43e01a:	89 46 04             	mov    %eax,0x4(%esi)
43e01d:	eb 02                	jmp    0x43e021
43e01f:	33 f6                	xor    %esi,%esi
43e021:	8b 45 ec             	mov    -0x14(%ebp),%eax
43e024:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43e027:	89 30                	mov    %esi,(%eax)
43e029:	ff 15 28 75 4a 00    	call   *0x4a7528
43e02f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43e032:	c7 45 dc c0 15 40 00 	movl   $0x4015c0,-0x24(%ebp)
43e039:	e8 95 1d fe ff       	call   0x41fdd3
43e03e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43e041:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
43e048:	e8 86 1d fe ff       	call   0x41fdd3
43e04d:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43e050:	ff 15 84 75 4a 00    	call   *0x4a7584
43e056:	e8 46 24 05 00       	call   0x4904a1
43e05b:	c2 04 00             	ret    $0x4
43e05e:	8b ff                	mov    %edi,%edi
43e060:	55                   	push   %ebp
43e061:	8b ec                	mov    %esp,%ebp
43e063:	83 ec 0c             	sub    $0xc,%esp
43e066:	53                   	push   %ebx
43e067:	6a 0c                	push   $0xc
43e069:	59                   	pop    %ecx
43e06a:	33 db                	xor    %ebx,%ebx
43e06c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43e06f:	53                   	push   %ebx
43e070:	8d 45 f4             	lea    -0xc(%ebp),%eax
43e073:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43e076:	50                   	push   %eax
43e077:	51                   	push   %ecx
43e078:	6a 42                	push   $0x42
43e07a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43e07d:	ff 15 78 7d 4a 00    	call   *0x4a7d78
43e083:	85 c0                	test   %eax,%eax
43e085:	74 06                	je     0x43e08d
43e087:	f6 45 f8 01          	testb  $0x1,-0x8(%ebp)
43e08b:	75 1c                	jne    0x43e0a9
43e08d:	56                   	push   %esi
43e08e:	6a 05                	push   $0x5
43e090:	ff 15 f0 7d 4a 00    	call   *0x4a7df0
43e096:	6a 02                	push   $0x2
43e098:	8b f0                	mov    %eax,%esi
43e09a:	ff 15 f0 7d 4a 00    	call   *0x4a7df0
43e0a0:	85 f6                	test   %esi,%esi
43e0a2:	5e                   	pop    %esi
43e0a3:	74 04                	je     0x43e0a9
43e0a5:	85 c0                	test   %eax,%eax
43e0a7:	75 02                	jne    0x43e0ab
43e0a9:	b3 01                	mov    $0x1,%bl
43e0ab:	8a c3                	mov    %bl,%al
43e0ad:	5b                   	pop    %ebx
43e0ae:	c9                   	leave
43e0af:	c3                   	ret
43e0b0:	6a 04                	push   $0x4
43e0b2:	b8 cd 15 49 00       	mov    $0x4915cd,%eax
43e0b7:	e8 17 24 05 00       	call   0x4904d3
43e0bc:	8b f1                	mov    %ecx,%esi
43e0be:	89 75 f0             	mov    %esi,-0x10(%ebp)
43e0c1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43e0c4:	ff 15 20 74 4a 00    	call   *0x4a7420
43e0ca:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43e0ce:	8d 45 f0             	lea    -0x10(%ebp),%eax
43e0d1:	dd 45 08             	fldl   0x8(%ebp)
43e0d4:	51                   	push   %ecx
43e0d5:	51                   	push   %ecx
43e0d6:	dd 1c 24             	fstpl  (%esp)
43e0d9:	6a 01                	push   $0x1
43e0db:	68 4c 01 41 00       	push   $0x41014c
43e0e0:	50                   	push   %eax
43e0e1:	ff 15 c0 75 4a 00    	call   *0x4a75c0
43e0e7:	83 c4 14             	add    $0x14,%esp
43e0ea:	8d 45 f0             	lea    -0x10(%ebp),%eax
43e0ed:	8b ce                	mov    %esi,%ecx
43e0ef:	50                   	push   %eax
43e0f0:	ff 15 18 74 4a 00    	call   *0x4a7418
43e0f6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43e0f9:	ff 15 1c 74 4a 00    	call   *0x4a741c
43e0ff:	8b c6                	mov    %esi,%eax
43e101:	e8 9b 23 05 00       	call   0x4904a1
43e106:	c2 08 00             	ret    $0x8
43e109:	68 b4 00 00 00       	push   $0xb4
43e10e:	b8 55 2d 49 00       	mov    $0x492d55,%eax
43e113:	e8 ee 23 05 00       	call   0x490506
43e118:	8b f2                	mov    %edx,%esi
43e11a:	8b d9                	mov    %ecx,%ebx
43e11c:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
43e122:	8b 7d 08             	mov    0x8(%ebp),%edi
43e125:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
43e12b:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
43e131:	ff 15 20 74 4a 00    	call   *0x4a7420
43e137:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43e13b:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
43e141:	ff 15 20 74 4a 00    	call   *0x4a7420
43e147:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
43e14d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43e151:	ff 15 20 74 4a 00    	call   *0x4a7420
43e157:	56                   	push   %esi
43e158:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
43e15e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
43e162:	ff 15 40 74 4a 00    	call   *0x4a7440
43e168:	89 bd 58 ff ff ff    	mov    %edi,-0xa8(%ebp)
43e16e:	db 85 58 ff ff ff    	fildl  -0xa8(%ebp)
43e174:	85 ff                	test   %edi,%edi
43e176:	79 06                	jns    0x43e17e
43e178:	dc 05 10 43 41 00    	faddl  0x414310
43e17e:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
43e184:	dd 9d 4c ff ff ff    	fstpl  -0xb4(%ebp)
43e18a:	dd 85 4c ff ff ff    	fldl   -0xb4(%ebp)
43e190:	dd 9d 4c ff ff ff    	fstpl  -0xb4(%ebp)
43e196:	81 ff 00 00 00 40    	cmp    $0x40000000,%edi
43e19c:	76 43                	jbe    0x43e1e1
43e19e:	68 e6 c3 00 00       	push   $0xc3e6
43e1a3:	ff 15 40 74 4a 00    	call   *0x4a7440
43e1a9:	dd 85 4c ff ff ff    	fldl   -0xb4(%ebp)
43e1af:	dc 0d f8 40 41 00    	fmull  0x4140f8
43e1b5:	51                   	push   %ecx
43e1b6:	51                   	push   %ecx
43e1b7:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
43e1bd:	dd 1c 24             	fstpl  (%esp)
43e1c0:	e8 eb fe ff ff       	call   0x43e0b0
43e1c5:	50                   	push   %eax
43e1c6:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
43e1cc:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
43e1d0:	ff 15 b8 75 4a 00    	call   *0x4a75b8
43e1d6:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
43e1dc:	e9 86 00 00 00       	jmp    0x43e267
43e1e1:	81 ff 00 00 10 00    	cmp    $0x100000,%edi
43e1e7:	76 40                	jbe    0x43e229
43e1e9:	68 e5 c3 00 00       	push   $0xc3e5
43e1ee:	ff 15 40 74 4a 00    	call   *0x4a7440
43e1f4:	dd 85 4c ff ff ff    	fldl   -0xb4(%ebp)
43e1fa:	dc 0d 08 41 41 00    	fmull  0x414108
43e200:	51                   	push   %ecx
43e201:	51                   	push   %ecx
43e202:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
43e208:	dd 1c 24             	fstpl  (%esp)
43e20b:	e8 a0 fe ff ff       	call   0x43e0b0
43e210:	50                   	push   %eax
43e211:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
43e217:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
43e21b:	ff 15 b8 75 4a 00    	call   *0x4a75b8
43e221:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
43e227:	eb 3e                	jmp    0x43e267
43e229:	68 e4 c3 00 00       	push   $0xc3e4
43e22e:	ff 15 40 74 4a 00    	call   *0x4a7440
43e234:	dd 85 4c ff ff ff    	fldl   -0xb4(%ebp)
43e23a:	dc 0d 28 41 41 00    	fmull  0x414128
43e240:	51                   	push   %ecx
43e241:	51                   	push   %ecx
43e242:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
43e248:	dd 1c 24             	fstpl  (%esp)
43e24b:	e8 60 fe ff ff       	call   0x43e0b0
43e250:	50                   	push   %eax
43e251:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
43e257:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
43e25b:	ff 15 b8 75 4a 00    	call   *0x4a75b8
43e261:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
43e267:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
43e26b:	ff 15 1c 74 4a 00    	call   *0x4a741c
43e271:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
43e277:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
43e27d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
43e283:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
43e289:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
43e28f:	50                   	push   %eax
43e290:	6a 40                	push   $0x40
43e292:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43e298:	50                   	push   %eax
43e299:	6a 00                	push   $0x0
43e29b:	6a 00                	push   $0x0
43e29d:	ff b5 60 ff ff ff    	push   -0xa0(%ebp)
43e2a3:	68 00 24 00 00       	push   $0x2400
43e2a8:	ff 15 b4 72 4a 00    	call   *0x4a72b4
43e2ae:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43e2b4:	8b cb                	mov    %ebx,%ecx
43e2b6:	50                   	push   %eax
43e2b7:	ff 15 48 74 4a 00    	call   *0x4a7448
43e2bd:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
43e2c3:	ff 15 1c 74 4a 00    	call   *0x4a741c
43e2c9:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
43e2cf:	ff 15 1c 74 4a 00    	call   *0x4a741c
43e2d5:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
43e2db:	ff 15 1c 74 4a 00    	call   *0x4a741c
43e2e1:	8b c3                	mov    %ebx,%eax
43e2e3:	e8 cd 21 05 00       	call   0x4904b5
43e2e8:	c2 08 00             	ret    $0x8
43e2eb:	6a 1c                	push   $0x1c
43e2ed:	b8 85 2d 49 00       	mov    $0x492d85,%eax
43e2f2:	e8 0f 22 05 00       	call   0x490506
43e2f7:	8b d9                	mov    %ecx,%ebx
43e2f9:	8b f2                	mov    %edx,%esi
43e2fb:	8d 7d e0             	lea    -0x20(%ebp),%edi
43e2fe:	6a 01                	push   $0x1
43e300:	6a 01                	push   $0x1
43e302:	8d 45 e0             	lea    -0x20(%ebp),%eax
43e305:	a5                   	movsl  %ds:(%esi),%es:(%edi)