439e58:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
439e5c:	8b 46 14             	mov    0x14(%esi),%eax
439e5f:	ba 00 20 00 00       	mov    $0x2000,%edx
439e64:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439e68:	25 00 30 00 00       	and    $0x3000,%eax
439e6d:	8b 4e 1c             	mov    0x1c(%esi),%ecx
439e70:	8b 7e 18             	mov    0x18(%esi),%edi
439e73:	85 c9                	test   %ecx,%ecx
439e75:	7f 0f                	jg     0x439e86
439e77:	7c 04                	jl     0x439e7d
439e79:	85 ff                	test   %edi,%edi
439e7b:	75 09                	jne    0x439e86
439e7d:	3b c2                	cmp    %edx,%eax
439e7f:	74 05                	je     0x439e86
439e81:	6a 06                	push   $0x6
439e83:	5f                   	pop    %edi
439e84:	33 c9                	xor    %ecx,%ecx
439e86:	dd 45 1c             	fldl   0x1c(%ebp)
439e89:	8b df                	mov    %edi,%ebx
439e8b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
439e8e:	3b c2                	cmp    %edx,%eax
439e90:	75 3a                	jne    0x439ecc
439e92:	d9 c0                	fld    %st(0)
439e94:	d9 e1                	fabs
439e96:	dc 1d e0 7e 49 00    	fcompl 0x497ee0
439e9c:	df e0                	fnstsw %ax
439e9e:	f6 c4 41             	test   $0x41,%ah
439ea1:	75 29                	jne    0x439ecc
439ea3:	8d 45 cc             	lea    -0x34(%ebp),%eax
439ea6:	50                   	push   %eax
439ea7:	51                   	push   %ecx
439ea8:	51                   	push   %ecx
439ea9:	dd 1c 24             	fstpl  (%esp)
439eac:	e8 05 fa 02 00       	call   0x4698b6
439eb1:	8b 45 cc             	mov    -0x34(%ebp),%eax
439eb4:	b9 a0 86 01 00       	mov    $0x186a0,%ecx
439eb9:	99                   	cltd
439eba:	83 c4 0c             	add    $0xc,%esp
439ebd:	33 c2                	xor    %edx,%eax
439ebf:	2b c2                	sub    %edx,%eax
439ec1:	69 c0 97 75 00 00    	imul   $0x7597,%eax,%eax
439ec7:	99                   	cltd
439ec8:	f7 f9                	idiv   %ecx
439eca:	03 d8                	add    %eax,%ebx
439ecc:	6a 00                	push   $0x0
439ece:	8d 43 32             	lea    0x32(%ebx),%eax
439ed1:	dd d8                	fstp   %st(0)
439ed3:	50                   	push   %eax
439ed4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439ed7:	e8 a7 89 fe ff       	call   0x422883
439edc:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
439ee0:	8d 5d d0             	lea    -0x30(%ebp),%ebx
439ee3:	8b 45 e0             	mov    -0x20(%ebp),%eax
439ee6:	89 45 cc             	mov    %eax,-0x34(%ebp)
439ee9:	72 03                	jb     0x439eee
439eeb:	8b 5d d0             	mov    -0x30(%ebp),%ebx
439eee:	dd 45 1c             	fldl   0x1c(%ebp)
439ef1:	8d 45 e8             	lea    -0x18(%ebp),%eax
439ef4:	51                   	push   %ecx
439ef5:	51                   	push   %ecx
439ef6:	dd 1c 24             	fstpl  (%esp)
439ef9:	57                   	push   %edi
439efa:	ff 76 14             	push   0x14(%esi)
439efd:	8b 7d c4             	mov    -0x3c(%ebp),%edi
439f00:	6a 00                	push   $0x0
439f02:	50                   	push   %eax
439f03:	57                   	push   %edi
439f04:	e8 c6 6b ff ff       	call   0x430acf
439f09:	83 c4 10             	add    $0x10,%esp
439f0c:	50                   	push   %eax
439f0d:	ff 75 cc             	push   -0x34(%ebp)
439f10:	53                   	push   %ebx
439f11:	e8 fe 26 ff ff       	call   0x42c614
439f16:	83 c4 18             	add    $0x18,%esp
439f19:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439f1c:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
439f20:	72 03                	jb     0x439f25
439f22:	8b 4d d0             	mov    -0x30(%ebp),%ecx
439f25:	50                   	push   %eax
439f26:	51                   	push   %ecx
439f27:	ff 75 18             	push   0x18(%ebp)
439f2a:	56                   	push   %esi
439f2b:	ff 75 10             	push   0x10(%ebp)
439f2e:	8b 75 c0             	mov    -0x40(%ebp),%esi
439f31:	ff 75 0c             	push   0xc(%ebp)
439f34:	56                   	push   %esi
439f35:	57                   	push   %edi
439f36:	e8 be 6c ff ff       	call   0x430bf9
439f3b:	83 c4 20             	add    $0x20,%esp
439f3e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439f41:	e8 8e 33 fe ff       	call   0x41d2d4
439f46:	8b c6                	mov    %esi,%eax
439f48:	e8 db 5a 00 00       	call   0x43fa28
439f4d:	c2 1c 00             	ret    $0x1c
439f50:	6a 34                	push   $0x34
439f52:	b8 61 27 49 00       	mov    $0x492761,%eax
439f57:	e8 22 5b 00 00       	call   0x43fa7e
439f5c:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
439f5f:	8b 45 08             	mov    0x8(%ebp),%eax
439f62:	8b 75 14             	mov    0x14(%ebp),%esi
439f65:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
439f69:	89 45 c0             	mov    %eax,-0x40(%ebp)
439f6c:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
439f73:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
439f77:	8b 46 14             	mov    0x14(%esi),%eax
439f7a:	ba 00 20 00 00       	mov    $0x2000,%edx
439f7f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439f83:	25 00 30 00 00       	and    $0x3000,%eax
439f88:	8b 4e 1c             	mov    0x1c(%esi),%ecx
439f8b:	8b 7e 18             	mov    0x18(%esi),%edi
439f8e:	85 c9                	test   %ecx,%ecx
439f90:	7f 0f                	jg     0x439fa1
439f92:	7c 04                	jl     0x439f98
439f94:	85 ff                	test   %edi,%edi
439f96:	75 09                	jne    0x439fa1
439f98:	3b c2                	cmp    %edx,%eax
439f9a:	74 05                	je     0x439fa1
439f9c:	6a 06                	push   $0x6
439f9e:	5f                   	pop    %edi
439f9f:	33 c9                	xor    %ecx,%ecx
439fa1:	dd 45 1c             	fldl   0x1c(%ebp)
439fa4:	8b df                	mov    %edi,%ebx
439fa6:	89 4d cc             	mov    %ecx,-0x34(%ebp)
439fa9:	3b c2                	cmp    %edx,%eax
439fab:	75 3a                	jne    0x439fe7
439fad:	d9 c0                	fld    %st(0)
439faf:	d9 e1                	fabs
439fb1:	dc 1d e0 7e 49 00    	fcompl 0x497ee0
439fb7:	df e0                	fnstsw %ax
439fb9:	f6 c4 41             	test   $0x41,%ah
439fbc:	75 29                	jne    0x439fe7
439fbe:	8d 45 cc             	lea    -0x34(%ebp),%eax
439fc1:	50                   	push   %eax
439fc2:	51                   	push   %ecx
439fc3:	51                   	push   %ecx
439fc4:	dd 1c 24             	fstpl  (%esp)
439fc7:	e8 ea f8 02 00       	call   0x4698b6
439fcc:	8b 45 cc             	mov    -0x34(%ebp),%eax
439fcf:	b9 a0 86 01 00       	mov    $0x186a0,%ecx
439fd4:	99                   	cltd
439fd5:	83 c4 0c             	add    $0xc,%esp
439fd8:	33 c2                	xor    %edx,%eax
439fda:	2b c2                	sub    %edx,%eax
439fdc:	69 c0 97 75 00 00    	imul   $0x7597,%eax,%eax
439fe2:	99                   	cltd
439fe3:	f7 f9                	idiv   %ecx
439fe5:	03 d8                	add    %eax,%ebx
439fe7:	6a 00                	push   $0x0
439fe9:	8d 43 32             	lea    0x32(%ebx),%eax
439fec:	dd d8                	fstp   %st(0)
439fee:	50                   	push   %eax
439fef:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439ff2:	e8 8c 88 fe ff       	call   0x422883
439ff7:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
439ffb:	8d 5d d0             	lea    -0x30(%ebp),%ebx
439ffe:	8b 45 e0             	mov    -0x20(%ebp),%eax
43a001:	89 45 cc             	mov    %eax,-0x34(%ebp)
43a004:	72 03                	jb     0x43a009
43a006:	8b 5d d0             	mov    -0x30(%ebp),%ebx
43a009:	dd 45 1c             	fldl   0x1c(%ebp)
43a00c:	8d 45 e8             	lea    -0x18(%ebp),%eax
43a00f:	51                   	push   %ecx
43a010:	51                   	push   %ecx
43a011:	dd 1c 24             	fstpl  (%esp)
43a014:	57                   	push   %edi
43a015:	ff 76 14             	push   0x14(%esi)
43a018:	8b 7d c4             	mov    -0x3c(%ebp),%edi
43a01b:	6a 4c                	push   $0x4c
43a01d:	50                   	push   %eax
43a01e:	57                   	push   %edi
43a01f:	e8 ab 6a ff ff       	call   0x430acf
43a024:	83 c4 10             	add    $0x10,%esp
43a027:	50                   	push   %eax
43a028:	ff 75 cc             	push   -0x34(%ebp)
43a02b:	53                   	push   %ebx
43a02c:	e8 e3 25 ff ff       	call   0x42c614
43a031:	83 c4 18             	add    $0x18,%esp
43a034:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a037:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
43a03b:	72 03                	jb     0x43a040
43a03d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
43a040:	50                   	push   %eax
43a041:	51                   	push   %ecx
43a042:	ff 75 18             	push   0x18(%ebp)
43a045:	56                   	push   %esi
43a046:	ff 75 10             	push   0x10(%ebp)
43a049:	8b 75 c0             	mov    -0x40(%ebp),%esi
43a04c:	ff 75 0c             	push   0xc(%ebp)
43a04f:	56                   	push   %esi
43a050:	57                   	push   %edi
43a051:	e8 a3 6b ff ff       	call   0x430bf9
43a056:	83 c4 20             	add    $0x20,%esp
43a059:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a05c:	e8 73 32 fe ff       	call   0x41d2d4
43a061:	8b c6                	mov    %esi,%eax
43a063:	e8 c0 59 00 00       	call   0x43fa28
43a068:	c2 1c 00             	ret    $0x1c
43a06b:	55                   	push   %ebp
43a06c:	8b ec                	mov    %esp,%ebp
43a06e:	83 ec 44             	sub    $0x44,%esp
43a071:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a076:	33 c5                	xor    %ebp,%eax
43a078:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a07b:	8b 45 1c             	mov    0x1c(%ebp),%eax
43a07e:	53                   	push   %ebx
43a07f:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a082:	56                   	push   %esi
43a083:	8b 75 14             	mov    0x14(%ebp),%esi
43a086:	57                   	push   %edi
43a087:	50                   	push   %eax
43a088:	68 68 7e 49 00       	push   $0x497e68
43a08d:	8d 45 bc             	lea    -0x44(%ebp),%eax
43a090:	8b f9                	mov    %ecx,%edi
43a092:	6a 40                	push   $0x40
43a094:	50                   	push   %eax
43a095:	e8 7a 25 ff ff       	call   0x42c614
43a09a:	50                   	push   %eax
43a09b:	8d 45 bc             	lea    -0x44(%ebp),%eax
43a09e:	50                   	push   %eax
43a09f:	ff 75 18             	push   0x18(%ebp)
43a0a2:	56                   	push   %esi
43a0a3:	ff 75 10             	push   0x10(%ebp)
43a0a6:	ff 75 0c             	push   0xc(%ebp)
43a0a9:	53                   	push   %ebx
43a0aa:	57                   	push   %edi
43a0ab:	e8 e1 ad ff ff       	call   0x434e91
43a0b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a0b3:	83 c4 30             	add    $0x30,%esp
43a0b6:	8b c3                	mov    %ebx,%eax
43a0b8:	33 cd                	xor    %ebp,%ecx
43a0ba:	5f                   	pop    %edi
43a0bb:	5e                   	pop    %esi
43a0bc:	5b                   	pop    %ebx
43a0bd:	e8 40 59 00 00       	call   0x43fa02
43a0c2:	c9                   	leave
43a0c3:	c2 18 00             	ret    $0x18
43a0c6:	55                   	push   %ebp
43a0c7:	8b ec                	mov    %esp,%ebp
43a0c9:	83 ec 4c             	sub    $0x4c,%esp
43a0cc:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a0d1:	33 c5                	xor    %ebp,%eax
43a0d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a0d6:	53                   	push   %ebx
43a0d7:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a0da:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a0dd:	56                   	push   %esi
43a0de:	8b 75 14             	mov    0x14(%ebp),%esi
43a0e1:	57                   	push   %edi
43a0e2:	ff 75 20             	push   0x20(%ebp)
43a0e5:	8b f9                	mov    %ecx,%edi
43a0e7:	ff 75 1c             	push   0x1c(%ebp)
43a0ea:	ff 76 14             	push   0x14(%esi)
43a0ed:	68 70 7e 49 00       	push   $0x497e70
43a0f2:	50                   	push   %eax
43a0f3:	57                   	push   %edi
43a0f4:	e8 5e a8 ff ff       	call   0x434957
43a0f9:	83 c4 10             	add    $0x10,%esp
43a0fc:	50                   	push   %eax
43a0fd:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a100:	6a 40                	push   $0x40
43a102:	50                   	push   %eax
43a103:	e8 0c 25 ff ff       	call   0x42c614
43a108:	50                   	push   %eax
43a109:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a10c:	50                   	push   %eax
43a10d:	ff 75 18             	push   0x18(%ebp)
43a110:	56                   	push   %esi
43a111:	ff 75 10             	push   0x10(%ebp)
43a114:	ff 75 0c             	push   0xc(%ebp)
43a117:	53                   	push   %ebx
43a118:	57                   	push   %edi
43a119:	e8 73 ad ff ff       	call   0x434e91
43a11e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a121:	83 c4 34             	add    $0x34,%esp
43a124:	8b c3                	mov    %ebx,%eax
43a126:	33 cd                	xor    %ebp,%ecx
43a128:	5f                   	pop    %edi
43a129:	5e                   	pop    %esi
43a12a:	5b                   	pop    %ebx
43a12b:	e8 d2 58 00 00       	call   0x43fa02
43a130:	c9                   	leave
43a131:	c2 1c 00             	ret    $0x1c
43a134:	55                   	push   %ebp
43a135:	8b ec                	mov    %esp,%ebp
43a137:	83 ec 4c             	sub    $0x4c,%esp
43a13a:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43a13f:	33 c5                	xor    %ebp,%eax
43a141:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a144:	53                   	push   %ebx
43a145:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a148:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a14b:	56                   	push   %esi
43a14c:	8b 75 14             	mov    0x14(%ebp),%esi
43a14f:	57                   	push   %edi
43a150:	ff 75 20             	push   0x20(%ebp)
43a153:	8b f9                	mov    %ecx,%edi
43a155:	ff 75 1c             	push   0x1c(%ebp)
43a158:	ff 76 14             	push   0x14(%esi)
43a15b:	68 6c 7e 49 00       	push   $0x497e6c
43a160:	50                   	push   %eax
43a161:	57                   	push   %edi
43a162:	e8 f0 a7 ff ff       	call   0x434957
43a167:	83 c4 10             	add    $0x10,%esp
43a16a:	50                   	push   %eax
43a16b:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a16e:	6a 40                	push   $0x40
43a170:	50                   	push   %eax
43a171:	e8 9e 24 ff ff       	call   0x42c614
43a176:	50                   	push   %eax
43a177:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43a17a:	50                   	push   %eax
43a17b:	ff 75 18             	push   0x18(%ebp)
43a17e:	56                   	push   %esi
43a17f:	ff 75 10             	push   0x10(%ebp)
43a182:	ff 75 0c             	push   0xc(%ebp)
43a185:	53                   	push   %ebx
43a186:	57                   	push   %edi
43a187:	e8 05 ad ff ff       	call   0x434e91
43a18c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a18f:	83 c4 34             	add    $0x34,%esp
43a192:	8b c3                	mov    %ebx,%eax
43a194:	33 cd                	xor    %ebp,%ecx
43a196:	5f                   	pop    %edi
43a197:	5e                   	pop    %esi
43a198:	5b                   	pop    %ebx
43a199:	e8 64 58 00 00       	call   0x43fa02
43a19e:	c9                   	leave
43a19f:	c2 1c 00             	ret    $0x1c
43a1a2:	6a 48                	push   $0x48
43a1a4:	b8 96 27 49 00       	mov    $0x492796,%eax
43a1a9:	e8 d0 58 00 00       	call   0x43fa7e
43a1ae:	8b d9                	mov    %ecx,%ebx
43a1b0:	89 5d bc             	mov    %ebx,-0x44(%ebp)
43a1b3:	8b 7d 14             	mov    0x14(%ebp),%edi
43a1b6:	0f b7 55 18          	movzwl 0x18(%ebp),%edx
43a1ba:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a1bd:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
43a1c0:	f7 47 14 00 40 00 00 	testl  $0x4000,0x14(%edi)
43a1c7:	89 55 b8             	mov    %edx,-0x48(%ebp)
43a1ca:	75 26                	jne    0x43a1f2
43a1cc:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
43a1d0:	8b 33                	mov    (%ebx),%esi
43a1d2:	50                   	push   %eax
43a1d3:	52                   	push   %edx
43a1d4:	57                   	push   %edi
43a1d5:	ff 75 10             	push   0x10(%ebp)
43a1d8:	ff 75 0c             	push   0xc(%ebp)
43a1db:	51                   	push   %ecx
43a1dc:	8b 4e 24             	mov    0x24(%esi),%ecx
43a1df:	ff 15 54 43 49 00    	call   *0x494354