43a008:	d8 c1                	fadd   %st(1),%st
43a00a:	dd 5c 24 08          	fstpl  0x8(%esp)
43a00e:	dd 1c 24             	fstpl  (%esp)
43a011:	6a 0c                	push   $0xc
43a013:	6a 08                	push   $0x8
43a015:	e8 9b 47 ff ff       	call   0x42e7b5
43a01a:	83 c4 1c             	add    $0x1c,%esp
43a01d:	eb 4b                	jmp    0x43a06a
43a01f:	56                   	push   %esi
43a020:	53                   	push   %ebx
43a021:	e8 53 4f ff ff       	call   0x42ef79
43a026:	dd 45 08             	fldl   0x8(%ebp)
43a029:	eb 3d                	jmp    0x43a068
43a02b:	e8 45 ed ff ff       	call   0x438d75
43a030:	dd 55 f8             	fstl   -0x8(%ebp)
43a033:	dd 45 08             	fldl   0x8(%ebp)
43a036:	83 c4 08             	add    $0x8,%esp
43a039:	dd e1                	fucom  %st(1)
43a03b:	df e0                	fnstsw %ax
43a03d:	f6 c4 44             	test   $0x44,%ah
43a040:	7b 18                	jnp    0x43a05a
43a042:	f6 c3 20             	test   $0x20,%bl
43a045:	75 13                	jne    0x43a05a
43a047:	53                   	push   %ebx
43a048:	83 ec 10             	sub    $0x10,%esp
43a04b:	d9 c9                	fxch   %st(1)
43a04d:	dd 5c 24 08          	fstpl  0x8(%esp)
43a051:	dd 1c 24             	fstpl  (%esp)
43a054:	6a 0c                	push   $0xc
43a056:	6a 10                	push   $0x10
43a058:	eb bb                	jmp    0x43a015
43a05a:	56                   	push   %esi
43a05b:	dd d9                	fstp   %st(1)
43a05d:	53                   	push   %ebx
43a05e:	dd d8                	fstp   %st(0)
43a060:	e8 14 4f ff ff       	call   0x42ef79
43a065:	dd 45 f8             	fldl   -0x8(%ebp)
43a068:	59                   	pop    %ecx
43a069:	59                   	pop    %ecx
43a06a:	5e                   	pop    %esi
43a06b:	5b                   	pop    %ebx
43a06c:	c9                   	leave
43a06d:	c3                   	ret
43a06e:	cc                   	int3
43a06f:	cc                   	int3
43a070:	55                   	push   %ebp
43a071:	8b ec                	mov    %esp,%ebp
43a073:	8b 45 08             	mov    0x8(%ebp),%eax
43a076:	33 d2                	xor    %edx,%edx
43a078:	53                   	push   %ebx
43a079:	56                   	push   %esi
43a07a:	57                   	push   %edi
43a07b:	8b 48 3c             	mov    0x3c(%eax),%ecx
43a07e:	03 c8                	add    %eax,%ecx
43a080:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
43a084:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
43a088:	83 c0 18             	add    $0x18,%eax
43a08b:	03 c1                	add    %ecx,%eax
43a08d:	85 db                	test   %ebx,%ebx
43a08f:	74 1b                	je     0x43a0ac
43a091:	8b 7d 0c             	mov    0xc(%ebp),%edi
43a094:	8b 70 0c             	mov    0xc(%eax),%esi
43a097:	3b fe                	cmp    %esi,%edi
43a099:	72 09                	jb     0x43a0a4
43a09b:	8b 48 08             	mov    0x8(%eax),%ecx
43a09e:	03 ce                	add    %esi,%ecx
43a0a0:	3b f9                	cmp    %ecx,%edi
43a0a2:	72 0a                	jb     0x43a0ae
43a0a4:	42                   	inc    %edx
43a0a5:	83 c0 28             	add    $0x28,%eax
43a0a8:	3b d3                	cmp    %ebx,%edx
43a0aa:	72 e8                	jb     0x43a094
43a0ac:	33 c0                	xor    %eax,%eax
43a0ae:	5f                   	pop    %edi
43a0af:	5e                   	pop    %esi
43a0b0:	5b                   	pop    %ebx
43a0b1:	5d                   	pop    %ebp
43a0b2:	c3                   	ret
43a0b3:	cc                   	int3
43a0b4:	cc                   	int3
43a0b5:	cc                   	int3
43a0b6:	cc                   	int3
43a0b7:	cc                   	int3
43a0b8:	cc                   	int3
43a0b9:	cc                   	int3
43a0ba:	cc                   	int3
43a0bb:	cc                   	int3
43a0bc:	cc                   	int3
43a0bd:	cc                   	int3
43a0be:	cc                   	int3
43a0bf:	cc                   	int3
43a0c0:	55                   	push   %ebp
43a0c1:	8b ec                	mov    %esp,%ebp
43a0c3:	6a fe                	push   $0xfffffffe
43a0c5:	68 90 34 45 00       	push   $0x453490
43a0ca:	68 60 b1 41 00       	push   $0x41b160
43a0cf:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43a0d5:	50                   	push   %eax
43a0d6:	83 ec 08             	sub    $0x8,%esp
43a0d9:	53                   	push   %ebx
43a0da:	56                   	push   %esi
43a0db:	57                   	push   %edi
43a0dc:	a1 14 50 45 00       	mov    0x455014,%eax
43a0e1:	31 45 f8             	xor    %eax,-0x8(%ebp)
43a0e4:	33 c5                	xor    %ebp,%eax
43a0e6:	50                   	push   %eax
43a0e7:	8d 45 f0             	lea    -0x10(%ebp),%eax
43a0ea:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43a0f0:	89 65 e8             	mov    %esp,-0x18(%ebp)
43a0f3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43a0fa:	68 00 00 40 00       	push   $0x400000
43a0ff:	e8 7c 00 00 00       	call   0x43a180
43a104:	83 c4 04             	add    $0x4,%esp
43a107:	85 c0                	test   %eax,%eax
43a109:	74 54                	je     0x43a15f
43a10b:	8b 45 08             	mov    0x8(%ebp),%eax
43a10e:	2d 00 00 40 00       	sub    $0x400000,%eax
43a113:	50                   	push   %eax
43a114:	68 00 00 40 00       	push   $0x400000
43a119:	e8 52 ff ff ff       	call   0x43a070
43a11e:	83 c4 08             	add    $0x8,%esp
43a121:	85 c0                	test   %eax,%eax
43a123:	74 3a                	je     0x43a15f
43a125:	8b 40 24             	mov    0x24(%eax),%eax
43a128:	c1 e8 1f             	shr    $0x1f,%eax
43a12b:	f7 d0                	not    %eax
43a12d:	83 e0 01             	and    $0x1,%eax
43a130:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a137:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a13a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43a141:	59                   	pop    %ecx
43a142:	5f                   	pop    %edi
43a143:	5e                   	pop    %esi
43a144:	5b                   	pop    %ebx
43a145:	8b e5                	mov    %ebp,%esp
43a147:	5d                   	pop    %ebp
43a148:	c3                   	ret
43a149:	8b 45 ec             	mov    -0x14(%ebp),%eax
43a14c:	8b 00                	mov    (%eax),%eax
43a14e:	33 c9                	xor    %ecx,%ecx
43a150:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
43a156:	0f 94 c1             	sete   %cl
43a159:	8b c1                	mov    %ecx,%eax
43a15b:	c3                   	ret
43a15c:	8b 65 e8             	mov    -0x18(%ebp),%esp
43a15f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a166:	33 c0                	xor    %eax,%eax
43a168:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a16b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43a172:	59                   	pop    %ecx
43a173:	5f                   	pop    %edi
43a174:	5e                   	pop    %esi
43a175:	5b                   	pop    %ebx
43a176:	8b e5                	mov    %ebp,%esp
43a178:	5d                   	pop    %ebp
43a179:	c3                   	ret
43a17a:	cc                   	int3
43a17b:	cc                   	int3
43a17c:	cc                   	int3
43a17d:	cc                   	int3
43a17e:	cc                   	int3
43a17f:	cc                   	int3
43a180:	55                   	push   %ebp
43a181:	8b ec                	mov    %esp,%ebp
43a183:	8b 45 08             	mov    0x8(%ebp),%eax
43a186:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
43a18b:	66 39 08             	cmp    %cx,(%eax)
43a18e:	75 1d                	jne    0x43a1ad
43a190:	8b 48 3c             	mov    0x3c(%eax),%ecx
43a193:	03 c8                	add    %eax,%ecx
43a195:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
43a19b:	75 10                	jne    0x43a1ad
43a19d:	ba 0b 01 00 00       	mov    $0x10b,%edx
43a1a2:	33 c0                	xor    %eax,%eax
43a1a4:	66 39 51 18          	cmp    %dx,0x18(%ecx)
43a1a8:	0f 94 c0             	sete   %al
43a1ab:	5d                   	pop    %ebp
43a1ac:	c3                   	ret
43a1ad:	33 c0                	xor    %eax,%eax
43a1af:	5d                   	pop    %ebp
43a1b0:	c3                   	ret
43a1b1:	cc                   	int3
43a1b2:	cc                   	int3
43a1b3:	cc                   	int3
43a1b4:	cc                   	int3
43a1b5:	cc                   	int3
43a1b6:	cc                   	int3
43a1b7:	cc                   	int3
43a1b8:	cc                   	int3
43a1b9:	cc                   	int3
43a1ba:	cc                   	int3
43a1bb:	cc                   	int3
43a1bc:	cc                   	int3
43a1bd:	cc                   	int3
43a1be:	cc                   	int3
43a1bf:	cc                   	int3
43a1c0:	53                   	push   %ebx
43a1c1:	8b 44 24 14          	mov    0x14(%esp),%eax
43a1c5:	0b c0                	or     %eax,%eax
43a1c7:	75 18                	jne    0x43a1e1
43a1c9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43a1cd:	8b 44 24 0c          	mov    0xc(%esp),%eax
43a1d1:	33 d2                	xor    %edx,%edx
43a1d3:	f7 f1                	div    %ecx
43a1d5:	8b 44 24 08          	mov    0x8(%esp),%eax
43a1d9:	f7 f1                	div    %ecx
43a1db:	8b c2                	mov    %edx,%eax
43a1dd:	33 d2                	xor    %edx,%edx
43a1df:	eb 50                	jmp    0x43a231
43a1e1:	8b c8                	mov    %eax,%ecx
43a1e3:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43a1e7:	8b 54 24 0c          	mov    0xc(%esp),%edx
43a1eb:	8b 44 24 08          	mov    0x8(%esp),%eax
43a1ef:	d1 e9                	shr    $1,%ecx
43a1f1:	d1 db                	rcr    $1,%ebx
43a1f3:	d1 ea                	shr    $1,%edx
43a1f5:	d1 d8                	rcr    $1,%eax
43a1f7:	0b c9                	or     %ecx,%ecx
43a1f9:	75 f4                	jne    0x43a1ef
43a1fb:	f7 f3                	div    %ebx
43a1fd:	8b c8                	mov    %eax,%ecx
43a1ff:	f7 64 24 14          	mull   0x14(%esp)
43a203:	91                   	xchg   %eax,%ecx
43a204:	f7 64 24 10          	mull   0x10(%esp)
43a208:	03 d1                	add    %ecx,%edx
43a20a:	72 0e                	jb     0x43a21a
43a20c:	3b 54 24 0c          	cmp    0xc(%esp),%edx
43a210:	77 08                	ja     0x43a21a
43a212:	72 0e                	jb     0x43a222
43a214:	3b 44 24 08          	cmp    0x8(%esp),%eax
43a218:	76 08                	jbe    0x43a222
43a21a:	2b 44 24 10          	sub    0x10(%esp),%eax
43a21e:	1b 54 24 14          	sbb    0x14(%esp),%edx
43a222:	2b 44 24 08          	sub    0x8(%esp),%eax
43a226:	1b 54 24 0c          	sbb    0xc(%esp),%edx
43a22a:	f7 da                	neg    %edx
43a22c:	f7 d8                	neg    %eax
43a22e:	83 da 00             	sbb    $0x0,%edx
43a231:	5b                   	pop    %ebx
43a232:	c2 10 00             	ret    $0x10
43a235:	cc                   	int3
43a236:	cc                   	int3
43a237:	cc                   	int3
43a238:	cc                   	int3
43a239:	cc                   	int3
43a23a:	cc                   	int3
43a23b:	cc                   	int3
43a23c:	cc                   	int3
43a23d:	cc                   	int3
43a23e:	cc                   	int3
43a23f:	cc                   	int3
43a240:	80 f9 40             	cmp    $0x40,%cl
43a243:	73 15                	jae    0x43a25a
43a245:	80 f9 20             	cmp    $0x20,%cl
43a248:	73 06                	jae    0x43a250
43a24a:	0f a5 c2             	shld   %cl,%eax,%edx
43a24d:	d3 e0                	shl    %cl,%eax
43a24f:	c3                   	ret
43a250:	8b d0                	mov    %eax,%edx
43a252:	33 c0                	xor    %eax,%eax
43a254:	80 e1 1f             	and    $0x1f,%cl
43a257:	d3 e2                	shl    %cl,%edx
43a259:	c3                   	ret
43a25a:	33 c0                	xor    %eax,%eax
43a25c:	33 d2                	xor    %edx,%edx
43a25e:	c3                   	ret
43a25f:	cc                   	int3
43a260:	80 f9 40             	cmp    $0x40,%cl
43a263:	73 15                	jae    0x43a27a
43a265:	80 f9 20             	cmp    $0x20,%cl
43a268:	73 06                	jae    0x43a270
43a26a:	0f ad d0             	shrd   %cl,%edx,%eax
43a26d:	d3 ea                	shr    %cl,%edx
43a26f:	c3                   	ret
43a270:	8b c2                	mov    %edx,%eax
43a272:	33 d2                	xor    %edx,%edx
43a274:	80 e1 1f             	and    $0x1f,%cl
43a277:	d3 e8                	shr    %cl,%eax
43a279:	c3                   	ret
43a27a:	33 c0                	xor    %eax,%eax
43a27c:	33 d2                	xor    %edx,%edx
43a27e:	c3                   	ret
43a27f:	cc                   	int3
43a280:	57                   	push   %edi
43a281:	56                   	push   %esi
43a282:	53                   	push   %ebx
43a283:	33 ff                	xor    %edi,%edi
43a285:	8b 44 24 14          	mov    0x14(%esp),%eax
43a289:	0b c0                	or     %eax,%eax
43a28b:	7d 14                	jge    0x43a2a1
43a28d:	47                   	inc    %edi
43a28e:	8b 54 24 10          	mov    0x10(%esp),%edx
43a292:	f7 d8                	neg    %eax
43a294:	f7 da                	neg    %edx
43a296:	83 d8 00             	sbb    $0x0,%eax
43a299:	89 44 24 14          	mov    %eax,0x14(%esp)
43a29d:	89 54 24 10          	mov    %edx,0x10(%esp)
43a2a1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43a2a5:	0b c0                	or     %eax,%eax
43a2a7:	7d 14                	jge    0x43a2bd
43a2a9:	47                   	inc    %edi
43a2aa:	8b 54 24 18          	mov    0x18(%esp),%edx
43a2ae:	f7 d8                	neg    %eax
43a2b0:	f7 da                	neg    %edx
43a2b2:	83 d8 00             	sbb    $0x0,%eax
43a2b5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43a2b9:	89 54 24 18          	mov    %edx,0x18(%esp)
43a2bd:	0b c0                	or     %eax,%eax
43a2bf:	75 18                	jne    0x43a2d9
43a2c1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43a2c5:	8b 44 24 14          	mov    0x14(%esp),%eax
43a2c9:	33 d2                	xor    %edx,%edx
43a2cb:	f7 f1                	div    %ecx
43a2cd:	8b d8                	mov    %eax,%ebx
43a2cf:	8b 44 24 10          	mov    0x10(%esp),%eax
43a2d3:	f7 f1                	div    %ecx
43a2d5:	8b d3                	mov    %ebx,%edx
43a2d7:	eb 41                	jmp    0x43a31a
43a2d9:	8b d8                	mov    %eax,%ebx
43a2db:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43a2df:	8b 54 24 14          	mov    0x14(%esp),%edx
43a2e3:	8b 44 24 10          	mov    0x10(%esp),%eax
43a2e7:	d1 eb                	shr    $1,%ebx
43a2e9:	d1 d9                	rcr    $1,%ecx
43a2eb:	d1 ea                	shr    $1,%edx
43a2ed:	d1 d8                	rcr    $1,%eax
43a2ef:	0b db                	or     %ebx,%ebx
43a2f1:	75 f4                	jne    0x43a2e7
43a2f3:	f7 f1                	div    %ecx
43a2f5:	8b f0                	mov    %eax,%esi
43a2f7:	f7 64 24 1c          	mull   0x1c(%esp)
43a2fb:	8b c8                	mov    %eax,%ecx
43a2fd:	8b 44 24 18          	mov    0x18(%esp),%eax
43a301:	f7 e6                	mul    %esi
43a303:	03 d1                	add    %ecx,%edx
43a305:	72 0e                	jb     0x43a315
43a307:	3b 54 24 14          	cmp    0x14(%esp),%edx
43a30b:	77 08                	ja     0x43a315
43a30d:	72 07                	jb     0x43a316
43a30f:	3b 44 24 10          	cmp    0x10(%esp),%eax
43a313:	76 01                	jbe    0x43a316
43a315:	4e                   	dec    %esi
43a316:	33 d2                	xor    %edx,%edx
43a318:	8b c6                	mov    %esi,%eax
43a31a:	4f                   	dec    %edi
43a31b:	75 07                	jne    0x43a324
43a31d:	f7 da                	neg    %edx
43a31f:	f7 d8                	neg    %eax
43a321:	83 da 00             	sbb    $0x0,%edx
43a324:	5b                   	pop    %ebx