43eb5a:	e8 98 dd ff ff       	call   0x43c8f7
43eb5f:	83 c4 1c             	add    $0x1c,%esp
43eb62:	09 07                	or     %eax,(%edi)
43eb64:	eb 03                	jmp    0x43eb69
43eb66:	83 0f 02             	orl    $0x2,(%edi)
43eb69:	8b 45 08             	mov    0x8(%ebp),%eax
43eb6c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43eb6f:	89 08                	mov    %ecx,(%eax)
43eb71:	8b 4d 10             	mov    0x10(%ebp),%ecx
43eb74:	89 48 04             	mov    %ecx,0x4(%eax)
43eb77:	e8 97 0e 00 00       	call   0x43fa13
43eb7c:	c2 20 00             	ret    $0x20
43eb7f:	55                   	push   %ebp
43eb80:	8b ec                	mov    %esp,%ebp
43eb82:	ff 71 08             	push   0x8(%ecx)
43eb85:	8d 45 14             	lea    0x14(%ebp),%eax
43eb88:	6a 00                	push   $0x0
43eb8a:	50                   	push   %eax
43eb8b:	8d 45 0c             	lea    0xc(%ebp),%eax
43eb8e:	50                   	push   %eax
43eb8f:	e8 2f 9a fe ff       	call   0x4285c3
43eb94:	8b c8                	mov    %eax,%ecx
43eb96:	83 c4 10             	add    $0x10,%esp
43eb99:	85 c9                	test   %ecx,%ecx
43eb9b:	79 08                	jns    0x43eba5
43eb9d:	8b 45 20             	mov    0x20(%ebp),%eax
43eba0:	83 08 02             	orl    $0x2,(%eax)
43eba3:	eb 08                	jmp    0x43ebad
43eba5:	8b 45 24             	mov    0x24(%ebp),%eax
43eba8:	d1 f9                	sar    $1,%ecx
43ebaa:	89 48 18             	mov    %ecx,0x18(%eax)
43ebad:	8b 45 08             	mov    0x8(%ebp),%eax
43ebb0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ebb3:	89 08                	mov    %ecx,(%eax)
43ebb5:	8b 4d 10             	mov    0x10(%ebp),%ecx
43ebb8:	89 48 04             	mov    %ecx,0x4(%eax)
43ebbb:	5d                   	pop    %ebp
43ebbc:	c2 20 00             	ret    $0x20
43ebbf:	6a 08                	push   $0x8
43ebc1:	b8 94 2e 49 00       	mov    $0x492e94,%eax
43ebc6:	e8 7f 0e 00 00       	call   0x43fa4a
43ebcb:	8b f9                	mov    %ecx,%edi
43ebcd:	8b 45 1c             	mov    0x1c(%ebp),%eax
43ebd0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43ebd3:	ff 70 30             	push   0x30(%eax)
43ebd6:	e8 61 a2 fe ff       	call   0x428e3c
43ebdb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43ebdf:	8d 45 ec             	lea    -0x14(%ebp),%eax
43ebe2:	50                   	push   %eax
43ebe3:	e8 d4 a0 fc ff       	call   0x408cbc
43ebe8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43ebec:	8b f0                	mov    %eax,%esi
43ebee:	59                   	pop    %ecx
43ebef:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43ebf2:	e8 f0 07 fd ff       	call   0x40f3e7
43ebf7:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
43ebfb:	8d 45 f0             	lea    -0x10(%ebp),%eax
43ebfe:	56                   	push   %esi
43ebff:	50                   	push   %eax
43ec00:	68 0f 27 00 00       	push   $0x270f
43ec05:	6a 00                	push   $0x0
43ec07:	8d 45 14             	lea    0x14(%ebp),%eax
43ec0a:	50                   	push   %eax
43ec0b:	8d 45 0c             	lea    0xc(%ebp),%eax
43ec0e:	50                   	push   %eax
43ec0f:	57                   	push   %edi
43ec10:	e8 e2 dc ff ff       	call   0x43c8f7
43ec15:	8b 4d 20             	mov    0x20(%ebp),%ecx
43ec18:	83 c4 1c             	add    $0x1c,%esp
43ec1b:	09 01                	or     %eax,(%ecx)
43ec1d:	a8 02                	test   $0x2,%al
43ec1f:	75 1e                	jne    0x43ec3f
43ec21:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43ec24:	83 f9 45             	cmp    $0x45,%ecx
43ec27:	7d 05                	jge    0x43ec2e
43ec29:	83 c1 64             	add    $0x64,%ecx
43ec2c:	eb 0b                	jmp    0x43ec39
43ec2e:	83 f9 64             	cmp    $0x64,%ecx
43ec31:	7c 06                	jl     0x43ec39
43ec33:	81 c1 94 f8 ff ff    	add    $0xfffff894,%ecx
43ec39:	8b 45 24             	mov    0x24(%ebp),%eax
43ec3c:	89 48 14             	mov    %ecx,0x14(%eax)
43ec3f:	8b 45 08             	mov    0x8(%ebp),%eax
43ec42:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ec45:	89 08                	mov    %ecx,(%eax)
43ec47:	8b 4d 10             	mov    0x10(%ebp),%ecx
43ec4a:	89 48 04             	mov    %ecx,0x4(%eax)
43ec4d:	e8 c1 0d 00 00       	call   0x43fa13
43ec52:	c2 20 00             	ret    $0x20
43ec55:	55                   	push   %ebp
43ec56:	8b ec                	mov    %esp,%ebp
43ec58:	ff 71 08             	push   0x8(%ecx)
43ec5b:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ec5e:	e8 63 c6 fc ff       	call   0x40b2c6
43ec63:	8b 45 08             	mov    0x8(%ebp),%eax
43ec66:	5d                   	pop    %ebp
43ec67:	c2 04 00             	ret    $0x4
43ec6a:	55                   	push   %ebp
43ec6b:	8b ec                	mov    %esp,%ebp
43ec6d:	8b 45 08             	mov    0x8(%ebp),%eax
43ec70:	8b 49 24             	mov    0x24(%ecx),%ecx
43ec73:	89 08                	mov    %ecx,(%eax)
43ec75:	5d                   	pop    %ebp
43ec76:	c2 04 00             	ret    $0x4
43ec79:	55                   	push   %ebp
43ec7a:	8b ec                	mov    %esp,%ebp
43ec7c:	ff 71 18             	push   0x18(%ecx)
43ec7f:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ec82:	e8 3f c6 fc ff       	call   0x40b2c6
43ec87:	8b 45 08             	mov    0x8(%ebp),%eax
43ec8a:	5d                   	pop    %ebp
43ec8b:	c2 04 00             	ret    $0x4
43ec8e:	83 c8 ff             	or     $0xffffffff,%eax
43ec91:	c2 08 00             	ret    $0x8
43ec94:	55                   	push   %ebp
43ec95:	8b ec                	mov    %esp,%ebp
43ec97:	8b 45 08             	mov    0x8(%ebp),%eax
43ec9a:	8b 49 20             	mov    0x20(%ecx),%ecx
43ec9d:	89 08                	mov    %ecx,(%eax)
43ec9f:	5d                   	pop    %ebp
43eca0:	c2 04 00             	ret    $0x4
43eca3:	55                   	push   %ebp
43eca4:	8b ec                	mov    %esp,%ebp
43eca6:	ff 71 14             	push   0x14(%ecx)
43eca9:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ecac:	e8 15 c6 fc ff       	call   0x40b2c6
43ecb1:	8b 45 08             	mov    0x8(%ebp),%eax
43ecb4:	5d                   	pop    %ebp
43ecb5:	c2 04 00             	ret    $0x4
43ecb8:	6a 44                	push   $0x44
43ecba:	b8 bf 2e 49 00       	mov    $0x492ebf,%eax
43ecbf:	e8 ba 0d 00 00       	call   0x43fa7e
43ecc4:	89 4d b0             	mov    %ecx,-0x50(%ebp)
43ecc7:	8b 45 08             	mov    0x8(%ebp),%eax
43ecca:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43eccd:	8b 5d 20             	mov    0x20(%ebp),%ebx
43ecd0:	89 45 b4             	mov    %eax,-0x4c(%ebp)
43ecd3:	8b 45 18             	mov    0x18(%ebp),%eax
43ecd6:	89 45 b8             	mov    %eax,-0x48(%ebp)
43ecd9:	ff 70 30             	push   0x30(%eax)
43ecdc:	e8 5b a1 fe ff       	call   0x428e3c
43ece1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43ece5:	8d 45 bc             	lea    -0x44(%ebp),%eax
43ece8:	50                   	push   %eax
43ece9:	e8 ce 9f fc ff       	call   0x408cbc
43ecee:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43ecf2:	8b f8                	mov    %eax,%edi
43ecf4:	59                   	pop    %ecx
43ecf5:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43ecf8:	e8 ea 06 fd ff       	call   0x40f3e7
43ecfd:	8b 07                	mov    (%edi),%eax
43ecff:	8b 70 1c             	mov    0x1c(%eax),%esi
43ed02:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43ed05:	50                   	push   %eax
43ed06:	68 bc ac 49 00       	push   $0x49acbc
43ed0b:	68 b0 ac 49 00       	push   $0x49acb0
43ed10:	8b ce                	mov    %esi,%ecx
43ed12:	ff 15 54 43 49 00    	call   *0x494354
43ed18:	8b cf                	mov    %edi,%ecx
43ed1a:	ff d6                	call   *%esi
43ed1c:	33 ff                	xor    %edi,%edi
43ed1e:	c6 45 c4 00          	movb   $0x0,-0x3c(%ebp)
43ed22:	39 7b 10             	cmp    %edi,0x10(%ebx)
43ed25:	74 18                	je     0x43ed3f
43ed27:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
43ed2b:	8b c3                	mov    %ebx,%eax
43ed2d:	72 02                	jb     0x43ed31
43ed2f:	8b 03                	mov    (%ebx),%eax
43ed31:	8a 00                	mov    (%eax),%al
43ed33:	3a 45 ee             	cmp    -0x12(%ebp),%al
43ed36:	75 07                	jne    0x43ed3f
43ed38:	33 ff                	xor    %edi,%edi
43ed3a:	c6 45 c4 01          	movb   $0x1,-0x3c(%ebp)
43ed3e:	47                   	inc    %edi
43ed3f:	8b f7                	mov    %edi,%esi
43ed41:	3b 7b 10             	cmp    0x10(%ebx),%edi
43ed44:	73 3b                	jae    0x43ed81
43ed46:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
43ed4a:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
43ed4e:	8b c3                	mov    %ebx,%eax
43ed50:	72 02                	jb     0x43ed54
43ed52:	8b 03                	mov    (%ebx),%eax
43ed54:	8a 04 30             	mov    (%eax,%esi,1),%al
43ed57:	ff 75 c0             	push   -0x40(%ebp)
43ed5a:	88 45 c8             	mov    %al,-0x38(%ebp)
43ed5d:	8d 45 c8             	lea    -0x38(%ebp),%eax
43ed60:	50                   	push   %eax
43ed61:	8d 45 ef             	lea    -0x11(%ebp),%eax
43ed64:	50                   	push   %eax
43ed65:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43ed68:	50                   	push   %eax
43ed69:	e8 12 98 fe ff       	call   0x428580
43ed6e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43ed71:	83 c4 10             	add    $0x10,%esp
43ed74:	2b c1                	sub    %ecx,%eax
43ed76:	83 f8 0a             	cmp    $0xa,%eax
43ed79:	73 06                	jae    0x43ed81
43ed7b:	46                   	inc    %esi
43ed7c:	3b 73 10             	cmp    0x10(%ebx),%esi
43ed7f:	72 c9                	jb     0x43ed4a
43ed81:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
43ed85:	72 02                	jb     0x43ed89
43ed87:	8b 1b                	mov    (%ebx),%ebx
43ed89:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
43ed8d:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
43ed90:	2b f7                	sub    %edi,%esi
43ed92:	c7 45 e0 0f 00 00 00 	movl   $0xf,-0x20(%ebp)
43ed99:	56                   	push   %esi
43ed9a:	50                   	push   %eax
43ed9b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43ed9e:	c6 45 cc 00          	movb   $0x0,-0x34(%ebp)
43eda2:	e8 03 0a fe ff       	call   0x41f7aa
43eda7:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
43edab:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43edb2:	75 0b                	jne    0x43edbf
43edb4:	ff 75 e4             	push   -0x1c(%ebp)
43edb7:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43edba:	e8 d3 38 fe ff       	call   0x422692
43edbf:	ff 75 e4             	push   -0x1c(%ebp)
43edc2:	8d 45 cc             	lea    -0x34(%ebp),%eax
43edc5:	83 ec 18             	sub    $0x18,%esp
43edc8:	8b cc                	mov    %esp,%ecx
43edca:	50                   	push   %eax
43edcb:	83 61 10 00          	andl   $0x0,0x10(%ecx)
43edcf:	83 61 14 00          	andl   $0x0,0x14(%ecx)
43edd3:	e8 07 8e fd ff       	call   0x417bdf
43edd8:	ff 75 c4             	push   -0x3c(%ebp)
43eddb:	8b 75 b4             	mov    -0x4c(%ebp),%esi
43edde:	ff 75 1c             	push   0x1c(%ebp)
43ede1:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43ede4:	ff 75 b8             	push   -0x48(%ebp)
43ede7:	ff 75 14             	push   0x14(%ebp)
43edea:	ff 75 10             	push   0x10(%ebp)
43eded:	ff 75 0c             	push   0xc(%ebp)
43edf0:	56                   	push   %esi
43edf1:	e8 07 ec ff ff       	call   0x43d9fd
43edf6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43edf9:	e8 d6 e4 fd ff       	call   0x41d2d4
43edfe:	8b c6                	mov    %esi,%eax
43ee00:	e8 23 0c 00 00       	call   0x43fa28
43ee05:	c2 1c 00             	ret    $0x1c
43ee08:	6a 60                	push   $0x60
43ee0a:	b8 f4 2e 49 00       	mov    $0x492ef4,%eax
43ee0f:	e8 6a 0c 00 00       	call   0x43fa7e
43ee14:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
43ee17:	d9 ee                	fldz
43ee19:	dd 45 20             	fldl   0x20(%ebp)
43ee1c:	8b 75 18             	mov    0x18(%ebp),%esi
43ee1f:	d8 d1                	fcom   %st(1)
43ee21:	8b 5d 08             	mov    0x8(%ebp),%ebx
43ee24:	df e0                	fnstsw %ax
43ee26:	89 75 98             	mov    %esi,-0x68(%ebp)
43ee29:	c6 45 a0 00          	movb   $0x0,-0x60(%ebp)
43ee2d:	dd d9                	fstp   %st(1)
43ee2f:	f6 c4 05             	test   $0x5,%ah
43ee32:	7a 06                	jp     0x43ee3a
43ee34:	c6 45 a0 01          	movb   $0x1,-0x60(%ebp)
43ee38:	d9 e0                	fchs
43ee3a:	dd 05 78 ab 49 00    	fldl   0x49ab78
43ee40:	33 ff                	xor    %edi,%edi
43ee42:	d8 d1                	fcom   %st(1)
43ee44:	df e0                	fnstsw %ax
43ee46:	f6 c4 41             	test   $0x41,%ah
43ee49:	7a 28                	jp     0x43ee73
43ee4b:	dd 05 e0 7e 49 00    	fldl   0x497ee0
43ee51:	eb 02                	jmp    0x43ee55
43ee53:	d9 c9                	fxch   %st(1)
43ee55:	81 ff 88 13 00 00    	cmp    $0x1388,%edi
43ee5b:	0f 83 04 01 00 00    	jae    0x43ef65
43ee61:	dc fa                	fdivr  %st,%st(2)
43ee63:	83 c7 0a             	add    $0xa,%edi
43ee66:	d9 c9                	fxch   %st(1)
43ee68:	d8 d2                	fcom   %st(2)
43ee6a:	df e0                	fnstsw %ax
43ee6c:	f6 c4 41             	test   $0x41,%ah
43ee6f:	7b e2                	jnp    0x43ee53
43ee71:	dd d8                	fstp   %st(0)
43ee73:	51                   	push   %ecx
43ee74:	51                   	push   %ecx
43ee75:	dd d8                	fstp   %st(0)
43ee77:	8d 45 c8             	lea    -0x38(%ebp),%eax
43ee7a:	dd 1c 24             	fstpl  (%esp)
43ee7d:	68 58 aa 49 00       	push   $0x49aa58
43ee82:	6a 28                	push   $0x28
43ee84:	50                   	push   %eax
43ee85:	e8 8a d7 fe ff       	call   0x42c614
43ee8a:	83 c4 14             	add    $0x14,%esp
43ee8d:	89 45 9c             	mov    %eax,-0x64(%ebp)
43ee90:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
43ee93:	ff 76 30             	push   0x30(%esi)
43ee96:	e8 a1 9f fe ff       	call   0x428e3c
43ee9b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43ee9f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43eea2:	50                   	push   %eax
43eea3:	e8 14 9e fc ff       	call   0x408cbc
43eea8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43eeac:	8b f0                	mov    %eax,%esi
43eeae:	59                   	pop    %ecx
43eeaf:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
43eeb2:	89 75 ac             	mov    %esi,-0x54(%ebp)
43eeb5:	e8 2d 05 fd ff       	call   0x40f3e7
43eeba:	8b 06                	mov    (%esi),%eax
43eebc:	6a 30                	push   $0x30
43eebe:	8b 70 20             	mov    0x20(%eax),%esi
43eec1:	8b ce                	mov    %esi,%ecx
43eec3:	ff 15 54 43 49 00    	call   *0x494354
43eec9:	8b 4d ac             	mov    -0x54(%ebp),%ecx
43eecc:	ff d6                	call   *%esi
43eece:	8b 75 9c             	mov    -0x64(%ebp),%esi
43eed1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
43eed4:	88 45 a8             	mov    %al,-0x58(%ebp)
43eed7:	33 c0                	xor    %eax,%eax
43eed9:	50                   	push   %eax
43eeda:	56                   	push   %esi
43eedb:	89 45 c0             	mov    %eax,-0x40(%ebp)
43eede:	c7 45 c4 0f 00 00 00 	movl   $0xf,-0x3c(%ebp)
43eee5:	88 45 b0             	mov    %al,-0x50(%ebp)
43eee8:	e8 51 08 fe ff       	call   0x41f73e
43eeed:	83 7d c4 10          	cmpl   $0x10,-0x3c(%ebp)
43eef1:	8d 45 b0             	lea    -0x50(%ebp),%eax
43eef4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43eefb:	72 03                	jb     0x43ef00
43eefd:	8b 45 b0             	mov    -0x50(%ebp),%eax
43ef00:	8b 4d ac             	mov    -0x54(%ebp),%ecx
43ef03:	50                   	push   %eax
43ef04:	8d 45 c8             	lea    -0x38(%ebp),%eax
43ef07:	03 c6                	add    %esi,%eax
43ef09:	50                   	push   %eax
43ef0a:	8d 45 c8             	lea    -0x38(%ebp),%eax
43ef0d:	50                   	push   %eax
43ef0e:	e8 33 d6 fe ff       	call   0x42c546
43ef13:	ff 75 a8             	push   -0x58(%ebp)
43ef16:	8d 4d b0             	lea    -0x50(%ebp),%ecx
43ef19:	57                   	push   %edi
43ef1a:	e8 11 06 fe ff       	call   0x41f530
43ef1f:	ff 75 a8             	push   -0x58(%ebp)
43ef22:	8d 45 b0             	lea    -0x50(%ebp),%eax
43ef25:	83 ec 18             	sub    $0x18,%esp
43ef28:	8b cc                	mov    %esp,%ecx
43ef2a:	50                   	push   %eax
43ef2b:	83 61 10 00          	andl   $0x0,0x10(%ecx)
43ef2f:	83 61 14 00          	andl   $0x0,0x14(%ecx)
43ef33:	e8 a7 8c fd ff       	call   0x417bdf
43ef38:	ff 75 a0             	push   -0x60(%ebp)
43ef3b:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
43ef3e:	ff 75 1c             	push   0x1c(%ebp)
43ef41:	ff 75 98             	push   -0x68(%ebp)
43ef44:	ff 75 14             	push   0x14(%ebp)
43ef47:	ff 75 10             	push   0x10(%ebp)
43ef4a:	ff 75 0c             	push   0xc(%ebp)