43de55:	0f 83 4e 74 fc ff    	jae    0x4052a9
43de5b:	8a 0c 38             	mov    (%eax,%edi,1),%cl
43de5e:	32 db                	xor    %bl,%bl
43de60:	80 e9 80             	sub    $0x80,%cl
43de63:	40                   	inc    %eax
43de64:	80 f9 3f             	cmp    $0x3f,%cl
43de67:	0f 87 66 74 fc ff    	ja     0x4052d3
43de6d:	4a                   	dec    %edx
43de6e:	75 e3                	jne    0x43de53
43de70:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43de73:	e9 2d 74 fc ff       	jmp    0x4052a5
43de78:	6a 03                	push   $0x3
43de7a:	58                   	pop    %eax
43de7b:	e9 b3 74 fc ff       	jmp    0x405333
43de80:	80 78 01 bb          	cmpb   $0xbb,0x1(%eax)
43de84:	0f 85 a7 74 fc ff    	jne    0x405331
43de8a:	80 78 02 bf          	cmpb   $0xbf,0x2(%eax)
43de8e:	0f 85 9d 74 fc ff    	jne    0x405331
43de94:	eb e2                	jmp    0x43de78
43de96:	58                   	pop    %eax
43de97:	c3                   	ret
43de98:	8b cf                	mov    %edi,%ecx
43de9a:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
43dea1:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
43dea8:	e8 01 7f fc ff       	call   0x405dae
43dead:	89 47 10             	mov    %eax,0x10(%edi)
43deb0:	89 57 14             	mov    %edx,0x14(%edi)
43deb3:	e9 72 75 fc ff       	jmp    0x40542a
43deb8:	89 47 08             	mov    %eax,0x8(%edi)
43debb:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
43dec2:	e9 75 75 fc ff       	jmp    0x40543c
43dec7:	48                   	dec    %eax
43dec8:	89 01                	mov    %eax,(%ecx)
43deca:	8b cb                	mov    %ebx,%ecx
43decc:	e8 72 85 01 00       	call   0x456443
43ded1:	8b 43 04             	mov    0x4(%ebx),%eax
43ded4:	83 c0 02             	add    $0x2,%eax
43ded7:	50                   	push   %eax
43ded8:	e8 6e 7b fc ff       	call   0x405a4b
43dedd:	50                   	push   %eax
43dede:	89 43 08             	mov    %eax,0x8(%ebx)
43dee1:	e8 10 31 fe ff       	call   0x420ff6
43dee6:	8b 4b 04             	mov    0x4(%ebx),%ecx
43dee9:	8b f0                	mov    %eax,%esi
43deeb:	41                   	inc    %ecx
43deec:	51                   	push   %ecx
43deed:	ff 33                	push   (%ebx)
43deef:	56                   	push   %esi
43def0:	e8 8b 31 fe ff       	call   0x421080
43def5:	e9 15 76 fc ff       	jmp    0x40550f
43defa:	3d 00 00 00 02       	cmp    $0x2000000,%eax
43deff:	73 3c                	jae    0x43df3d
43df01:	89 45 f4             	mov    %eax,-0xc(%ebp)
43df04:	db 45 f4             	fildl  -0xc(%ebp)
43df07:	85 c0                	test   %eax,%eax
43df09:	79 06                	jns    0x43df11
43df0b:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43df11:	dd 5d f0             	fstpl  -0x10(%ebp)
43df14:	dd 45 f0             	fldl   -0x10(%ebp)
43df17:	dc 0d 10 6f 4b 00    	fmull  0x4b6f10
43df1d:	d9 7d fc             	fnstcw -0x4(%ebp)
43df20:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
43df24:	0d 00 0c 00 00       	or     $0xc00,%eax
43df29:	89 45 f4             	mov    %eax,-0xc(%ebp)
43df2c:	d9 6d f4             	fldcw  -0xc(%ebp)
43df2f:	df 7d f0             	fistpll -0x10(%ebp)
43df32:	8b 45 f0             	mov    -0x10(%ebp),%eax
43df35:	d9 6d fc             	fldcw  -0x4(%ebp)
43df38:	e9 9e 75 fc ff       	jmp    0x4054db
43df3d:	3d 00 00 00 08       	cmp    $0x8000000,%eax
43df42:	73 3c                	jae    0x43df80
43df44:	89 45 f4             	mov    %eax,-0xc(%ebp)
43df47:	db 45 f4             	fildl  -0xc(%ebp)
43df4a:	85 c0                	test   %eax,%eax
43df4c:	79 06                	jns    0x43df54
43df4e:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43df54:	dd 5d f0             	fstpl  -0x10(%ebp)
43df57:	dd 45 f0             	fldl   -0x10(%ebp)
43df5a:	dc 0d 08 6f 4b 00    	fmull  0x4b6f08
43df60:	d9 7d fc             	fnstcw -0x4(%ebp)
43df63:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
43df67:	0d 00 0c 00 00       	or     $0xc00,%eax
43df6c:	89 45 f4             	mov    %eax,-0xc(%ebp)
43df6f:	d9 6d f4             	fldcw  -0xc(%ebp)
43df72:	df 7d f0             	fistpll -0x10(%ebp)
43df75:	8b 45 f0             	mov    -0x10(%ebp),%eax
43df78:	d9 6d fc             	fldcw  -0x4(%ebp)
43df7b:	e9 5b 75 fc ff       	jmp    0x4054db
43df80:	89 45 f4             	mov    %eax,-0xc(%ebp)
43df83:	db 45 f4             	fildl  -0xc(%ebp)
43df86:	85 c0                	test   %eax,%eax
43df88:	79 06                	jns    0x43df90
43df8a:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43df90:	dd 5d f0             	fstpl  -0x10(%ebp)
43df93:	dd 45 f0             	fldl   -0x10(%ebp)
43df96:	dc 0d 00 6f 4b 00    	fmull  0x4b6f00
43df9c:	d9 7d fc             	fnstcw -0x4(%ebp)
43df9f:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
43dfa3:	0d 00 0c 00 00       	or     $0xc00,%eax
43dfa8:	89 45 f4             	mov    %eax,-0xc(%ebp)
43dfab:	d9 6d f4             	fldcw  -0xc(%ebp)
43dfae:	df 7d f0             	fistpll -0x10(%ebp)
43dfb1:	8b 45 f0             	mov    -0x10(%ebp),%eax
43dfb4:	d9 6d fc             	fldcw  -0x4(%ebp)
43dfb7:	e9 1f 75 fc ff       	jmp    0x4054db
43dfbc:	6a 01                	push   $0x1
43dfbe:	6a ff                	push   $0xffffffff
43dfc0:	6a ff                	push   $0xffffffff
43dfc2:	8b cf                	mov    %edi,%ecx
43dfc4:	e8 85 7c fc ff       	call   0x405c4e
43dfc9:	e9 f5 74 fc ff       	jmp    0x4054c3
43dfce:	f6 46 28 01          	testb  $0x1,0x28(%esi)
43dfd2:	0f 84 a1 78 fc ff    	je     0x405879
43dfd8:	e9 ae 77 fc ff       	jmp    0x40578b
43dfdd:	8b ce                	mov    %esi,%ecx
43dfdf:	e8 5b 7e fc ff       	call   0x405e3f
43dfe4:	8b d8                	mov    %eax,%ebx
43dfe6:	e9 de 77 fc ff       	jmp    0x4057c9
43dfeb:	83 7e 2c 07          	cmpl   $0x7,0x2c(%esi)
43dfef:	75 0c                	jne    0x43dffd
43dff1:	c7 46 2c 08 00 00 00 	movl   $0x8,0x2c(%esi)
43dff8:	e9 68 78 fc ff       	jmp    0x405865
43dffd:	83 7e 2c 05          	cmpl   $0x5,0x2c(%esi)
43e001:	75 0c                	jne    0x43e00f
43e003:	c7 46 2c 06 00 00 00 	movl   $0x6,0x2c(%esi)
43e00a:	e9 56 78 fc ff       	jmp    0x405865
43e00f:	83 7e 2c 03          	cmpl   $0x3,0x2c(%esi)
43e013:	e9 44 78 fc ff       	jmp    0x40585c
43e018:	f6 46 28 01          	testb  $0x1,0x28(%esi)
43e01c:	74 0c                	je     0x43e02a
43e01e:	8b 46 10             	mov    0x10(%esi),%eax
43e021:	0b 46 14             	or     0x14(%esi),%eax
43e024:	0f 85 7a 79 fc ff    	jne    0x4059a4
43e02a:	83 7e 2c 03          	cmpl   $0x3,0x2c(%esi)
43e02e:	75 09                	jne    0x43e039
43e030:	6a 03                	push   $0x3
43e032:	68 9c 70 4b 00       	push   $0x4b709c
43e037:	eb 20                	jmp    0x43e059
43e039:	83 7e 2c 05          	cmpl   $0x5,0x2c(%esi)
43e03d:	75 09                	jne    0x43e048
43e03f:	6a 02                	push   $0x2
43e041:	68 a4 70 4b 00       	push   $0x4b70a4
43e046:	eb 11                	jmp    0x43e059
43e048:	83 7e 2c 07          	cmpl   $0x7,0x2c(%esi)
43e04c:	0f 85 52 79 fc ff    	jne    0x4059a4
43e052:	6a 02                	push   $0x2
43e054:	68 a0 70 4b 00       	push   $0x4b70a0
43e059:	8b ce                	mov    %esi,%ecx
43e05b:	e8 36 56 02 00       	call   0x463696
43e060:	e9 3f 79 fc ff       	jmp    0x4059a4
43e065:	48                   	dec    %eax
43e066:	89 01                	mov    %eax,(%ecx)
43e068:	8b ce                	mov    %esi,%ecx
43e06a:	e8 d4 83 01 00       	call   0x456443
43e06f:	6a 10                	push   $0x10
43e071:	58                   	pop    %eax
43e072:	50                   	push   %eax
43e073:	89 46 08             	mov    %eax,0x8(%esi)
43e076:	e8 7b 2f fe ff       	call   0x420ff6
43e07b:	59                   	pop    %ecx
43e07c:	89 06                	mov    %eax,(%esi)
43e07e:	e9 bd 79 fc ff       	jmp    0x405a40
43e083:	48                   	dec    %eax
43e084:	89 01                	mov    %eax,(%ecx)
43e086:	8b ce                	mov    %esi,%ecx
43e088:	e8 b6 83 01 00       	call   0x456443
43e08d:	8d 47 01             	lea    0x1(%edi),%eax
43e090:	50                   	push   %eax
43e091:	e8 b5 79 fc ff       	call   0x405a4b
43e096:	50                   	push   %eax
43e097:	89 46 08             	mov    %eax,0x8(%esi)
43e09a:	e8 57 2f fe ff       	call   0x420ff6
43e09f:	59                   	pop    %ecx
43e0a0:	89 06                	mov    %eax,(%esi)
43e0a2:	e9 4c 7a fc ff       	jmp    0x405af3
43e0a7:	3d 00 00 00 02       	cmp    $0x2000000,%eax
43e0ac:	73 1e                	jae    0x43e0cc
43e0ae:	89 45 08             	mov    %eax,0x8(%ebp)
43e0b1:	db 45 08             	fildl  0x8(%ebp)
43e0b4:	85 c0                	test   %eax,%eax
43e0b6:	79 06                	jns    0x43e0be
43e0b8:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43e0be:	dd 5d f8             	fstpl  -0x8(%ebp)
43e0c1:	dd 45 f8             	fldl   -0x8(%ebp)
43e0c4:	dc 0d 10 6f 4b 00    	fmull  0x4b6f10
43e0ca:	eb 41                	jmp    0x43e10d
43e0cc:	3d 00 00 00 08       	cmp    $0x8000000,%eax
43e0d1:	73 1e                	jae    0x43e0f1
43e0d3:	89 45 08             	mov    %eax,0x8(%ebp)
43e0d6:	db 45 08             	fildl  0x8(%ebp)
43e0d9:	85 c0                	test   %eax,%eax
43e0db:	79 06                	jns    0x43e0e3
43e0dd:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43e0e3:	dd 5d f8             	fstpl  -0x8(%ebp)
43e0e6:	dd 45 f8             	fldl   -0x8(%ebp)
43e0e9:	dc 0d 08 6f 4b 00    	fmull  0x4b6f08
43e0ef:	eb 1c                	jmp    0x43e10d
43e0f1:	89 45 08             	mov    %eax,0x8(%ebp)
43e0f4:	db 45 08             	fildl  0x8(%ebp)
43e0f7:	85 c0                	test   %eax,%eax
43e0f9:	79 06                	jns    0x43e101
43e0fb:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
43e101:	dd 5d f8             	fstpl  -0x8(%ebp)
43e104:	dd 45 f8             	fldl   -0x8(%ebp)
43e107:	dc 0d 00 6f 4b 00    	fmull  0x4b6f00
43e10d:	e8 f4 d4 ff ff       	call   0x43b606
43e112:	e9 27 7a fc ff       	jmp    0x405b3e
43e117:	48                   	dec    %eax
43e118:	89 01                	mov    %eax,(%ecx)
43e11a:	8b cf                	mov    %edi,%ecx
43e11c:	56                   	push   %esi
43e11d:	e8 21 83 01 00       	call   0x456443
43e122:	8b 47 04             	mov    0x4(%edi),%eax
43e125:	83 c0 02             	add    $0x2,%eax
43e128:	50                   	push   %eax
43e129:	e8 1d 79 fc ff       	call   0x405a4b
43e12e:	50                   	push   %eax
43e12f:	89 47 08             	mov    %eax,0x8(%edi)
43e132:	e8 bf 2e fe ff       	call   0x420ff6
43e137:	8b 4f 04             	mov    0x4(%edi),%ecx
43e13a:	8b f0                	mov    %eax,%esi
43e13c:	41                   	inc    %ecx
43e13d:	51                   	push   %ecx
43e13e:	ff 37                	push   (%edi)
43e140:	56                   	push   %esi
43e141:	e8 3a 2f fe ff       	call   0x421080
43e146:	83 c4 10             	add    $0x10,%esp
43e149:	89 37                	mov    %esi,(%edi)
43e14b:	5e                   	pop    %esi
43e14c:	e9 a9 7a fc ff       	jmp    0x405bfa
43e151:	8b 77 10             	mov    0x10(%edi),%esi
43e154:	03 75 08             	add    0x8(%ebp),%esi
43e157:	8b 4f 14             	mov    0x14(%edi),%ecx
43e15a:	13 ca                	adc    %edx,%ecx
43e15c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43e15f:	e9 1b 7b fc ff       	jmp    0x405c7f
43e164:	8b cf                	mov    %edi,%ecx
43e166:	e8 43 7c fc ff       	call   0x405dae
43e16b:	8b 4f 10             	mov    0x10(%edi),%ecx
43e16e:	2b c8                	sub    %eax,%ecx
43e170:	8b 47 14             	mov    0x14(%edi),%eax
43e173:	1b c2                	sbb    %edx,%eax
43e175:	8b 55 0c             	mov    0xc(%ebp),%edx
43e178:	03 f1                	add    %ecx,%esi
43e17a:	13 d0                	adc    %eax,%edx
43e17c:	e9 6e 7b fc ff       	jmp    0x405cef
43e181:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
43e185:	74 36                	je     0x43e1bd
43e187:	8b 45 08             	mov    0x8(%ebp),%eax
43e18a:	53                   	push   %ebx
43e18b:	68 80 00 00 00       	push   $0x80
43e190:	6a 04                	push   $0x4
43e192:	53                   	push   %ebx
43e193:	6a 07                	push   $0x7
43e195:	68 00 00 00 c0       	push   $0xc0000000
43e19a:	ff 30                	push   (%eax)
43e19c:	ff 15 d4 f1 48 00    	call   *0x48f1d4
43e1a2:	89 06                	mov    %eax,(%esi)
43e1a4:	83 f8 ff             	cmp    $0xffffffff,%eax
43e1a7:	0f 84 8a 7c fc ff    	je     0x405e37
43e1ad:	6a 02                	push   $0x2
43e1af:	53                   	push   %ebx
43e1b0:	53                   	push   %ebx
43e1b1:	8b ce                	mov    %esi,%ecx
43e1b3:	e8 96 7a fc ff       	call   0x405c4e
43e1b8:	e9 72 7c fc ff       	jmp    0x405e2f
43e1bd:	f6 45 0c 02          	testb  $0x2,0xc(%ebp)
43e1c1:	0f 84 70 7c fc ff    	je     0x405e37
43e1c7:	53                   	push   %ebx
43e1c8:	68 80 00 00 00       	push   $0x80
43e1cd:	6a 02                	push   $0x2
43e1cf:	53                   	push   %ebx
43e1d0:	6a 07                	push   $0x7
43e1d2:	68 00 00 00 c0       	push   $0xc0000000
43e1d7:	e9 46 7c fc ff       	jmp    0x405e22
43e1dc:	ff 37                	push   (%edi)
43e1de:	e8 89 2e fe ff       	call   0x42106c
43e1e3:	ff 77 0c             	push   0xc(%edi)
43e1e6:	e8 81 2e fe ff       	call   0x42106c
43e1eb:	59                   	pop    %ecx
43e1ec:	59                   	pop    %ecx
43e1ed:	e9 7b 7d fc ff       	jmp    0x405f6d
43e1f2:	66 83 79 08 05       	cmpw   $0x5,0x8(%ecx)
43e1f7:	0f 85 cc 7d fc ff    	jne    0x405fc9
43e1fd:	83 fa 02             	cmp    $0x2,%edx
43e200:	0f 86 c3 7d fc ff    	jbe    0x405fc9
43e206:	8b 44 93 f8          	mov    -0x8(%ebx,%edx,4),%eax
43e20a:	0f b7 78 08          	movzwl 0x8(%eax),%edi
43e20e:	8b 44 93 f4          	mov    -0xc(%ebx,%edx,4),%eax
43e212:	0f b7 40 08          	movzwl 0x8(%eax),%eax
43e216:	66 83 ff 49          	cmp    $0x49,%di
43e21a:	74 1f                	je     0x43e23b
43e21c:	66 83 ff 4a          	cmp    $0x4a,%di
43e220:	74 19                	je     0x43e23b
43e222:	66 83 ff 4c          	cmp    $0x4c,%di
43e226:	74 13                	je     0x43e23b
43e228:	6a 30                	push   $0x30
43e22a:	59                   	pop    %ecx
43e22b:	66 85 ff             	test   %di,%di
43e22e:	74 2d                	je     0x43e25d
43e230:	66 3b f9             	cmp    %cx,%di
43e233:	0f 85 90 7d fc ff    	jne    0x405fc9
43e239:	eb 22                	jmp    0x43e25d
43e23b:	83 fa 03             	cmp    $0x3,%edx
43e23e:	0f 86 85 7d fc ff    	jbe    0x405fc9
43e244:	6a 30                	push   $0x30
43e246:	59                   	pop    %ecx
43e247:	66 85 c0             	test   %ax,%ax
43e24a:	74 09                	je     0x43e255
43e24c:	66 3b c1             	cmp    %cx,%ax
43e24f:	0f 85 74 7d fc ff    	jne    0x405fc9
43e255:	8b 44 93 f0          	mov    -0x10(%ebx,%edx,4),%eax
43e259:	0f b7 40 08          	movzwl 0x8(%eax),%eax
43e25d:	66 85 c0             	test   %ax,%ax
43e260:	0f 84 61 7d fc ff    	je     0x405fc7
43e266:	66 3b c1             	cmp    %cx,%ax
43e269:	0f 85 5a 7d fc ff    	jne    0x405fc9
43e26f:	e9 53 7d fc ff       	jmp    0x405fc7
43e274:	8b 75 10             	mov    0x10(%ebp),%esi
43e277:	8b ce                	mov    %esi,%ecx
43e279:	6a ff                	push   $0xffffffff
43e27b:	e8 92 7c fc ff       	call   0x405f12
43e280:	83 0e ff             	orl    $0xffffffff,(%esi)
43e283:	e9 d4 7d fc ff       	jmp    0x40605c
43e288:	83 f8 66             	cmp    $0x66,%eax
43e28b:	0f 86 a8 7f fc ff    	jbe    0x406239
43e291:	e9 c9 7f fc ff       	jmp    0x40625f
43e296:	83 f8 46             	cmp    $0x46,%eax
43e299:	0f 87 cc 7f fc ff    	ja     0x40626b
43e29f:	e9 95 7f fc ff       	jmp    0x406239
43e2a4:	8b c3                	mov    %ebx,%eax
43e2a6:	24 14                	and    $0x14,%al
43e2a8:	3c 04                	cmp    $0x4,%al
43e2aa:	0f 85 f9 7f fc ff    	jne    0x4062a9
43e2b0:	6a 39                	push   $0x39
43e2b2:	58                   	pop    %eax
43e2b3:	8b d8                	mov    %eax,%ebx
43e2b5:	e9 ef 7f fc ff       	jmp    0x4062a9
43e2ba:	8a 45 17             	mov    0x17(%ebp),%al
43e2bd:	f7 c3 fd ff ff ff    	test   $0xfffffffd,%ebx
43e2c3:	0f 84 8b 7e fc ff    	je     0x406154
43e2c9:	83 cb 10             	or     $0x10,%ebx
43e2cc:	89 16                	mov    %edx,(%esi)
43e2ce:	e9 81 7e fc ff       	jmp    0x406154
43e2d3:	f6 c3 08             	test   $0x8,%bl
43e2d6:	0f 84 75 7e fc ff    	je     0x406151
43e2dc:	6a 31                	push   $0x31
43e2de:	5b                   	pop    %ebx
43e2df:	e9 6d 7e fc ff       	jmp    0x406151
43e2e4:	53                   	push   %ebx