43beb3:	6a 08                	push   $0x8
43beb5:	e8 f0 34 ff ff       	call   0x42f3aa
43beba:	83 c4 1c             	add    $0x1c,%esp
43bebd:	eb 4b                	jmp    0x43bf0a
43bebf:	56                   	push   %esi
43bec0:	53                   	push   %ebx
43bec1:	e8 0a 3e ff ff       	call   0x42fcd0
43bec6:	dd 45 08             	fldl   0x8(%ebp)
43bec9:	eb 3d                	jmp    0x43bf08
43becb:	e8 c4 ed ff ff       	call   0x43ac94
43bed0:	dd 55 f8             	fstl   -0x8(%ebp)
43bed3:	dd 45 08             	fldl   0x8(%ebp)
43bed6:	83 c4 08             	add    $0x8,%esp
43bed9:	dd e1                	fucom  %st(1)
43bedb:	df e0                	fnstsw %ax
43bedd:	f6 c4 44             	test   $0x44,%ah
43bee0:	7b 18                	jnp    0x43befa
43bee2:	f6 c3 20             	test   $0x20,%bl
43bee5:	75 13                	jne    0x43befa
43bee7:	53                   	push   %ebx
43bee8:	83 ec 10             	sub    $0x10,%esp
43beeb:	d9 c9                	fxch   %st(1)
43beed:	dd 5c 24 08          	fstpl  0x8(%esp)
43bef1:	dd 1c 24             	fstpl  (%esp)
43bef4:	6a 0c                	push   $0xc
43bef6:	6a 10                	push   $0x10
43bef8:	eb bb                	jmp    0x43beb5
43befa:	56                   	push   %esi
43befb:	dd d9                	fstp   %st(1)
43befd:	53                   	push   %ebx
43befe:	dd d8                	fstp   %st(0)
43bf00:	e8 cb 3d ff ff       	call   0x42fcd0
43bf05:	dd 45 f8             	fldl   -0x8(%ebp)
43bf08:	59                   	pop    %ecx
43bf09:	59                   	pop    %ecx
43bf0a:	5e                   	pop    %esi
43bf0b:	5b                   	pop    %ebx
43bf0c:	c9                   	leave
43bf0d:	c3                   	ret
43bf0e:	33 c0                	xor    %eax,%eax
43bf10:	50                   	push   %eax
43bf11:	50                   	push   %eax
43bf12:	6a 03                	push   $0x3
43bf14:	50                   	push   %eax
43bf15:	6a 03                	push   $0x3
43bf17:	68 00 00 00 40       	push   $0x40000000
43bf1c:	68 90 a2 44 00       	push   $0x44a290
43bf21:	ff 15 58 f0 43 00    	call   *0x43f058
43bf27:	a3 90 4a 45 00       	mov    %eax,0x454a90
43bf2c:	c3                   	ret
43bf2d:	8b 0d 90 4a 45 00    	mov    0x454a90,%ecx
43bf33:	83 f9 fe             	cmp    $0xfffffffe,%ecx
43bf36:	75 0b                	jne    0x43bf43
43bf38:	e8 d1 ff ff ff       	call   0x43bf0e
43bf3d:	8b 0d 90 4a 45 00    	mov    0x454a90,%ecx
43bf43:	33 c0                	xor    %eax,%eax
43bf45:	83 f9 ff             	cmp    $0xffffffff,%ecx
43bf48:	0f 95 c0             	setne  %al
43bf4b:	c3                   	ret
43bf4c:	cc                   	int3
43bf4d:	cc                   	int3
43bf4e:	cc                   	int3
43bf4f:	cc                   	int3
43bf50:	a1 90 4a 45 00       	mov    0x454a90,%eax
43bf55:	83 f8 ff             	cmp    $0xffffffff,%eax
43bf58:	74 0c                	je     0x43bf66
43bf5a:	83 f8 fe             	cmp    $0xfffffffe,%eax
43bf5d:	74 07                	je     0x43bf66
43bf5f:	50                   	push   %eax
43bf60:	ff 15 68 f0 43 00    	call   *0x43f068
43bf66:	c3                   	ret
43bf67:	8b ff                	mov    %edi,%edi
43bf69:	55                   	push   %ebp
43bf6a:	8b ec                	mov    %esp,%ebp
43bf6c:	56                   	push   %esi
43bf6d:	6a 00                	push   $0x0
43bf6f:	ff 75 10             	push   0x10(%ebp)
43bf72:	ff 75 0c             	push   0xc(%ebp)
43bf75:	ff 75 08             	push   0x8(%ebp)
43bf78:	ff 35 90 4a 45 00    	push   0x454a90
43bf7e:	ff 15 14 f0 43 00    	call   *0x43f014
43bf84:	8b f0                	mov    %eax,%esi
43bf86:	85 f6                	test   %esi,%esi
43bf88:	75 2d                	jne    0x43bfb7
43bf8a:	ff 15 60 f0 43 00    	call   *0x43f060
43bf90:	83 f8 06             	cmp    $0x6,%eax
43bf93:	75 22                	jne    0x43bfb7
43bf95:	e8 b6 ff ff ff       	call   0x43bf50
43bf9a:	e8 6f ff ff ff       	call   0x43bf0e
43bf9f:	56                   	push   %esi
43bfa0:	ff 75 10             	push   0x10(%ebp)
43bfa3:	ff 75 0c             	push   0xc(%ebp)
43bfa6:	ff 75 08             	push   0x8(%ebp)
43bfa9:	ff 35 90 4a 45 00    	push   0x454a90
43bfaf:	ff 15 14 f0 43 00    	call   *0x43f014
43bfb5:	8b f0                	mov    %eax,%esi
43bfb7:	8b c6                	mov    %esi,%eax
43bfb9:	5e                   	pop    %esi
43bfba:	5d                   	pop    %ebp
43bfbb:	c3                   	ret
43bfbc:	cc                   	int3
43bfbd:	cc                   	int3
43bfbe:	cc                   	int3
43bfbf:	cc                   	int3
43bfc0:	55                   	push   %ebp
43bfc1:	8b ec                	mov    %esp,%ebp
43bfc3:	8b 45 08             	mov    0x8(%ebp),%eax
43bfc6:	33 d2                	xor    %edx,%edx
43bfc8:	53                   	push   %ebx
43bfc9:	56                   	push   %esi
43bfca:	57                   	push   %edi
43bfcb:	8b 48 3c             	mov    0x3c(%eax),%ecx
43bfce:	03 c8                	add    %eax,%ecx
43bfd0:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
43bfd4:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
43bfd8:	83 c0 18             	add    $0x18,%eax
43bfdb:	03 c1                	add    %ecx,%eax
43bfdd:	85 db                	test   %ebx,%ebx
43bfdf:	74 1b                	je     0x43bffc
43bfe1:	8b 7d 0c             	mov    0xc(%ebp),%edi
43bfe4:	8b 70 0c             	mov    0xc(%eax),%esi
43bfe7:	3b fe                	cmp    %esi,%edi
43bfe9:	72 09                	jb     0x43bff4
43bfeb:	8b 48 08             	mov    0x8(%eax),%ecx
43bfee:	03 ce                	add    %esi,%ecx
43bff0:	3b f9                	cmp    %ecx,%edi
43bff2:	72 0a                	jb     0x43bffe
43bff4:	42                   	inc    %edx
43bff5:	83 c0 28             	add    $0x28,%eax
43bff8:	3b d3                	cmp    %ebx,%edx
43bffa:	72 e8                	jb     0x43bfe4
43bffc:	33 c0                	xor    %eax,%eax
43bffe:	5f                   	pop    %edi
43bfff:	5e                   	pop    %esi
43c000:	5b                   	pop    %ebx
43c001:	5d                   	pop    %ebp
43c002:	c3                   	ret
43c003:	cc                   	int3
43c004:	cc                   	int3
43c005:	cc                   	int3
43c006:	cc                   	int3
43c007:	cc                   	int3
43c008:	cc                   	int3
43c009:	cc                   	int3
43c00a:	cc                   	int3
43c00b:	cc                   	int3
43c00c:	cc                   	int3
43c00d:	cc                   	int3
43c00e:	cc                   	int3
43c00f:	cc                   	int3
43c010:	55                   	push   %ebp
43c011:	8b ec                	mov    %esp,%ebp
43c013:	6a fe                	push   $0xfffffffe
43c015:	68 10 28 45 00       	push   $0x452810
43c01a:	68 00 f2 41 00       	push   $0x41f200
43c01f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43c025:	50                   	push   %eax
43c026:	83 ec 08             	sub    $0x8,%esp
43c029:	53                   	push   %ebx
43c02a:	56                   	push   %esi
43c02b:	57                   	push   %edi
43c02c:	a1 14 40 45 00       	mov    0x454014,%eax
43c031:	31 45 f8             	xor    %eax,-0x8(%ebp)
43c034:	33 c5                	xor    %ebp,%eax
43c036:	50                   	push   %eax
43c037:	8d 45 f0             	lea    -0x10(%ebp),%eax
43c03a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43c040:	89 65 e8             	mov    %esp,-0x18(%ebp)
43c043:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43c04a:	68 00 00 40 00       	push   $0x400000
43c04f:	e8 7c 00 00 00       	call   0x43c0d0
43c054:	83 c4 04             	add    $0x4,%esp
43c057:	85 c0                	test   %eax,%eax
43c059:	74 54                	je     0x43c0af
43c05b:	8b 45 08             	mov    0x8(%ebp),%eax
43c05e:	2d 00 00 40 00       	sub    $0x400000,%eax
43c063:	50                   	push   %eax
43c064:	68 00 00 40 00       	push   $0x400000
43c069:	e8 52 ff ff ff       	call   0x43bfc0
43c06e:	83 c4 08             	add    $0x8,%esp
43c071:	85 c0                	test   %eax,%eax
43c073:	74 3a                	je     0x43c0af
43c075:	8b 40 24             	mov    0x24(%eax),%eax
43c078:	c1 e8 1f             	shr    $0x1f,%eax
43c07b:	f7 d0                	not    %eax
43c07d:	83 e0 01             	and    $0x1,%eax
43c080:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43c087:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43c08a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43c091:	59                   	pop    %ecx
43c092:	5f                   	pop    %edi
43c093:	5e                   	pop    %esi
43c094:	5b                   	pop    %ebx
43c095:	8b e5                	mov    %ebp,%esp
43c097:	5d                   	pop    %ebp
43c098:	c3                   	ret
43c099:	8b 45 ec             	mov    -0x14(%ebp),%eax
43c09c:	8b 00                	mov    (%eax),%eax
43c09e:	33 c9                	xor    %ecx,%ecx
43c0a0:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
43c0a6:	0f 94 c1             	sete   %cl
43c0a9:	8b c1                	mov    %ecx,%eax
43c0ab:	c3                   	ret
43c0ac:	8b 65 e8             	mov    -0x18(%ebp),%esp
43c0af:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43c0b6:	33 c0                	xor    %eax,%eax
43c0b8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43c0bb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43c0c2:	59                   	pop    %ecx
43c0c3:	5f                   	pop    %edi
43c0c4:	5e                   	pop    %esi
43c0c5:	5b                   	pop    %ebx
43c0c6:	8b e5                	mov    %ebp,%esp
43c0c8:	5d                   	pop    %ebp
43c0c9:	c3                   	ret
43c0ca:	cc                   	int3
43c0cb:	cc                   	int3
43c0cc:	cc                   	int3
43c0cd:	cc                   	int3
43c0ce:	cc                   	int3
43c0cf:	cc                   	int3
43c0d0:	55                   	push   %ebp
43c0d1:	8b ec                	mov    %esp,%ebp
43c0d3:	8b 45 08             	mov    0x8(%ebp),%eax
43c0d6:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
43c0db:	66 39 08             	cmp    %cx,(%eax)
43c0de:	75 1d                	jne    0x43c0fd
43c0e0:	8b 48 3c             	mov    0x3c(%eax),%ecx
43c0e3:	03 c8                	add    %eax,%ecx
43c0e5:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
43c0eb:	75 10                	jne    0x43c0fd
43c0ed:	ba 0b 01 00 00       	mov    $0x10b,%edx
43c0f2:	33 c0                	xor    %eax,%eax
43c0f4:	66 39 51 18          	cmp    %dx,0x18(%ecx)
43c0f8:	0f 94 c0             	sete   %al
43c0fb:	5d                   	pop    %ebp
43c0fc:	c3                   	ret
43c0fd:	33 c0                	xor    %eax,%eax
43c0ff:	5d                   	pop    %ebp
43c100:	c3                   	ret
43c101:	cc                   	int3
43c102:	cc                   	int3
43c103:	cc                   	int3
43c104:	cc                   	int3
43c105:	cc                   	int3
43c106:	cc                   	int3
43c107:	cc                   	int3
43c108:	cc                   	int3
43c109:	cc                   	int3
43c10a:	cc                   	int3
43c10b:	cc                   	int3
43c10c:	cc                   	int3
43c10d:	cc                   	int3
43c10e:	cc                   	int3
43c10f:	cc                   	int3
43c110:	53                   	push   %ebx
43c111:	8b 44 24 14          	mov    0x14(%esp),%eax
43c115:	0b c0                	or     %eax,%eax
43c117:	75 18                	jne    0x43c131
43c119:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43c11d:	8b 44 24 0c          	mov    0xc(%esp),%eax
43c121:	33 d2                	xor    %edx,%edx
43c123:	f7 f1                	div    %ecx
43c125:	8b 44 24 08          	mov    0x8(%esp),%eax
43c129:	f7 f1                	div    %ecx
43c12b:	8b c2                	mov    %edx,%eax
43c12d:	33 d2                	xor    %edx,%edx
43c12f:	eb 50                	jmp    0x43c181
43c131:	8b c8                	mov    %eax,%ecx
43c133:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43c137:	8b 54 24 0c          	mov    0xc(%esp),%edx
43c13b:	8b 44 24 08          	mov    0x8(%esp),%eax
43c13f:	d1 e9                	shr    $1,%ecx
43c141:	d1 db                	rcr    $1,%ebx
43c143:	d1 ea                	shr    $1,%edx
43c145:	d1 d8                	rcr    $1,%eax
43c147:	0b c9                	or     %ecx,%ecx
43c149:	75 f4                	jne    0x43c13f
43c14b:	f7 f3                	div    %ebx
43c14d:	8b c8                	mov    %eax,%ecx
43c14f:	f7 64 24 14          	mull   0x14(%esp)
43c153:	91                   	xchg   %eax,%ecx
43c154:	f7 64 24 10          	mull   0x10(%esp)
43c158:	03 d1                	add    %ecx,%edx
43c15a:	72 0e                	jb     0x43c16a
43c15c:	3b 54 24 0c          	cmp    0xc(%esp),%edx
43c160:	77 08                	ja     0x43c16a
43c162:	72 0e                	jb     0x43c172
43c164:	3b 44 24 08          	cmp    0x8(%esp),%eax
43c168:	76 08                	jbe    0x43c172
43c16a:	2b 44 24 10          	sub    0x10(%esp),%eax
43c16e:	1b 54 24 14          	sbb    0x14(%esp),%edx
43c172:	2b 44 24 08          	sub    0x8(%esp),%eax
43c176:	1b 54 24 0c          	sbb    0xc(%esp),%edx
43c17a:	f7 da                	neg    %edx
43c17c:	f7 d8                	neg    %eax
43c17e:	83 da 00             	sbb    $0x0,%edx
43c181:	5b                   	pop    %ebx
43c182:	c2 10 00             	ret    $0x10
43c185:	cc                   	int3
43c186:	cc                   	int3
43c187:	cc                   	int3
43c188:	cc                   	int3
43c189:	cc                   	int3
43c18a:	cc                   	int3
43c18b:	cc                   	int3
43c18c:	cc                   	int3
43c18d:	cc                   	int3
43c18e:	cc                   	int3
43c18f:	cc                   	int3
43c190:	57                   	push   %edi
43c191:	56                   	push   %esi
43c192:	53                   	push   %ebx
43c193:	33 ff                	xor    %edi,%edi
43c195:	8b 44 24 14          	mov    0x14(%esp),%eax
43c199:	0b c0                	or     %eax,%eax
43c19b:	7d 14                	jge    0x43c1b1
43c19d:	47                   	inc    %edi
43c19e:	8b 54 24 10          	mov    0x10(%esp),%edx
43c1a2:	f7 d8                	neg    %eax
43c1a4:	f7 da                	neg    %edx
43c1a6:	83 d8 00             	sbb    $0x0,%eax
43c1a9:	89 44 24 14          	mov    %eax,0x14(%esp)
43c1ad:	89 54 24 10          	mov    %edx,0x10(%esp)
43c1b1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43c1b5:	0b c0                	or     %eax,%eax
43c1b7:	7d 14                	jge    0x43c1cd
43c1b9:	47                   	inc    %edi
43c1ba:	8b 54 24 18          	mov    0x18(%esp),%edx
43c1be:	f7 d8                	neg    %eax
43c1c0:	f7 da                	neg    %edx
43c1c2:	83 d8 00             	sbb    $0x0,%eax
43c1c5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43c1c9:	89 54 24 18          	mov    %edx,0x18(%esp)
43c1cd:	0b c0                	or     %eax,%eax
43c1cf:	75 18                	jne    0x43c1e9
43c1d1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43c1d5:	8b 44 24 14          	mov    0x14(%esp),%eax
43c1d9:	33 d2                	xor    %edx,%edx
43c1db:	f7 f1                	div    %ecx
43c1dd:	8b d8                	mov    %eax,%ebx
43c1df:	8b 44 24 10          	mov    0x10(%esp),%eax
43c1e3:	f7 f1                	div    %ecx
43c1e5:	8b d3                	mov    %ebx,%edx
43c1e7:	eb 41                	jmp    0x43c22a
43c1e9:	8b d8                	mov    %eax,%ebx
43c1eb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43c1ef:	8b 54 24 14          	mov    0x14(%esp),%edx
43c1f3:	8b 44 24 10          	mov    0x10(%esp),%eax
43c1f7:	d1 eb                	shr    $1,%ebx