409f97:	3b 54 24 14          	cmp    0x14(%esp),%edx
409f9b:	77 08                	ja     0x409fa5
409f9d:	72 07                	jb     0x409fa6
409f9f:	3b 44 24 10          	cmp    0x10(%esp),%eax
409fa3:	76 01                	jbe    0x409fa6
409fa5:	4e                   	dec    %esi
409fa6:	33 d2                	xor    %edx,%edx
409fa8:	8b c6                	mov    %esi,%eax
409faa:	4f                   	dec    %edi
409fab:	75 07                	jne    0x409fb4
409fad:	f7 da                	neg    %edx
409faf:	f7 d8                	neg    %eax
409fb1:	83 da 00             	sbb    $0x0,%edx
409fb4:	5b                   	pop    %ebx
409fb5:	5e                   	pop    %esi
409fb6:	5f                   	pop    %edi
409fb7:	c2 10 00             	ret    $0x10
409fba:	cc                   	int3
409fbb:	cc                   	int3
409fbc:	cc                   	int3
409fbd:	cc                   	int3
409fbe:	cc                   	int3
409fbf:	cc                   	int3
409fc0:	8b 44 24 08          	mov    0x8(%esp),%eax
409fc4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
409fc8:	0b c8                	or     %eax,%ecx
409fca:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
409fce:	75 09                	jne    0x409fd9
409fd0:	8b 44 24 04          	mov    0x4(%esp),%eax
409fd4:	f7 e1                	mul    %ecx
409fd6:	c2 10 00             	ret    $0x10
409fd9:	53                   	push   %ebx
409fda:	f7 e1                	mul    %ecx
409fdc:	8b d8                	mov    %eax,%ebx
409fde:	8b 44 24 08          	mov    0x8(%esp),%eax
409fe2:	f7 64 24 14          	mull   0x14(%esp)
409fe6:	03 d8                	add    %eax,%ebx
409fe8:	8b 44 24 08          	mov    0x8(%esp),%eax
409fec:	f7 e1                	mul    %ecx
409fee:	03 d3                	add    %ebx,%edx
409ff0:	5b                   	pop    %ebx
409ff1:	c2 10 00             	ret    $0x10
409ff4:	cc                   	int3
409ff5:	cc                   	int3
409ff6:	cc                   	int3
409ff7:	cc                   	int3
409ff8:	cc                   	int3
409ff9:	cc                   	int3
409ffa:	cc                   	int3
409ffb:	cc                   	int3
409ffc:	cc                   	int3
409ffd:	cc                   	int3
409ffe:	cc                   	int3
409fff:	cc                   	int3
40a000:	53                   	push   %ebx
40a001:	57                   	push   %edi
40a002:	33 ff                	xor    %edi,%edi
40a004:	8b 44 24 10          	mov    0x10(%esp),%eax
40a008:	0b c0                	or     %eax,%eax
40a00a:	7d 14                	jge    0x40a020
40a00c:	47                   	inc    %edi
40a00d:	8b 54 24 0c          	mov    0xc(%esp),%edx
40a011:	f7 d8                	neg    %eax
40a013:	f7 da                	neg    %edx
40a015:	83 d8 00             	sbb    $0x0,%eax
40a018:	89 44 24 10          	mov    %eax,0x10(%esp)
40a01c:	89 54 24 0c          	mov    %edx,0xc(%esp)
40a020:	8b 44 24 18          	mov    0x18(%esp),%eax
40a024:	0b c0                	or     %eax,%eax
40a026:	7d 13                	jge    0x40a03b
40a028:	8b 54 24 14          	mov    0x14(%esp),%edx
40a02c:	f7 d8                	neg    %eax
40a02e:	f7 da                	neg    %edx
40a030:	83 d8 00             	sbb    $0x0,%eax
40a033:	89 44 24 18          	mov    %eax,0x18(%esp)
40a037:	89 54 24 14          	mov    %edx,0x14(%esp)
40a03b:	0b c0                	or     %eax,%eax
40a03d:	75 1b                	jne    0x40a05a
40a03f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40a043:	8b 44 24 10          	mov    0x10(%esp),%eax
40a047:	33 d2                	xor    %edx,%edx
40a049:	f7 f1                	div    %ecx
40a04b:	8b 44 24 0c          	mov    0xc(%esp),%eax
40a04f:	f7 f1                	div    %ecx
40a051:	8b c2                	mov    %edx,%eax
40a053:	33 d2                	xor    %edx,%edx
40a055:	4f                   	dec    %edi
40a056:	79 4e                	jns    0x40a0a6
40a058:	eb 53                	jmp    0x40a0ad
40a05a:	8b d8                	mov    %eax,%ebx
40a05c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40a060:	8b 54 24 10          	mov    0x10(%esp),%edx
40a064:	8b 44 24 0c          	mov    0xc(%esp),%eax
40a068:	d1 eb                	shr    $1,%ebx
40a06a:	d1 d9                	rcr    $1,%ecx
40a06c:	d1 ea                	shr    $1,%edx
40a06e:	d1 d8                	rcr    $1,%eax
40a070:	0b db                	or     %ebx,%ebx
40a072:	75 f4                	jne    0x40a068
40a074:	f7 f1                	div    %ecx
40a076:	8b c8                	mov    %eax,%ecx
40a078:	f7 64 24 18          	mull   0x18(%esp)
40a07c:	91                   	xchg   %eax,%ecx
40a07d:	f7 64 24 14          	mull   0x14(%esp)
40a081:	03 d1                	add    %ecx,%edx
40a083:	72 0e                	jb     0x40a093
40a085:	3b 54 24 10          	cmp    0x10(%esp),%edx
40a089:	77 08                	ja     0x40a093
40a08b:	72 0e                	jb     0x40a09b
40a08d:	3b 44 24 0c          	cmp    0xc(%esp),%eax
40a091:	76 08                	jbe    0x40a09b
40a093:	2b 44 24 14          	sub    0x14(%esp),%eax
40a097:	1b 54 24 18          	sbb    0x18(%esp),%edx
40a09b:	2b 44 24 0c          	sub    0xc(%esp),%eax
40a09f:	1b 54 24 10          	sbb    0x10(%esp),%edx
40a0a3:	4f                   	dec    %edi
40a0a4:	79 07                	jns    0x40a0ad
40a0a6:	f7 da                	neg    %edx
40a0a8:	f7 d8                	neg    %eax
40a0aa:	83 da 00             	sbb    $0x0,%edx
40a0ad:	5f                   	pop    %edi
40a0ae:	5b                   	pop    %ebx
40a0af:	c2 10 00             	ret    $0x10
40a0b2:	cc                   	int3
40a0b3:	cc                   	int3
40a0b4:	cc                   	int3
40a0b5:	cc                   	int3
40a0b6:	cc                   	int3
40a0b7:	cc                   	int3
40a0b8:	cc                   	int3
40a0b9:	cc                   	int3
40a0ba:	cc                   	int3
40a0bb:	cc                   	int3
40a0bc:	cc                   	int3
40a0bd:	cc                   	int3
40a0be:	cc                   	int3
40a0bf:	cc                   	int3
40a0c0:	51                   	push   %ecx
40a0c1:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40a0c5:	2b c8                	sub    %eax,%ecx
40a0c7:	1b c0                	sbb    %eax,%eax
40a0c9:	f7 d0                	not    %eax
40a0cb:	23 c8                	and    %eax,%ecx
40a0cd:	8b c4                	mov    %esp,%eax
40a0cf:	25 00 f0 ff ff       	and    $0xfffff000,%eax
40a0d4:	3b c8                	cmp    %eax,%ecx
40a0d6:	72 0a                	jb     0x40a0e2
40a0d8:	8b c1                	mov    %ecx,%eax
40a0da:	59                   	pop    %ecx
40a0db:	94                   	xchg   %eax,%esp
40a0dc:	8b 00                	mov    (%eax),%eax
40a0de:	89 04 24             	mov    %eax,(%esp)
40a0e1:	c3                   	ret
40a0e2:	2d 00 10 00 00       	sub    $0x1000,%eax
40a0e7:	85 00                	test   %eax,(%eax)
40a0e9:	eb e9                	jmp    0x40a0d4
40a0eb:	cc                   	int3
40a0ec:	cc                   	int3
40a0ed:	cc                   	int3
40a0ee:	cc                   	int3
40a0ef:	cc                   	int3
40a0f0:	e9 0b 00 00 00       	jmp    0x40a100
40a0f5:	cc                   	int3
40a0f6:	cc                   	int3
40a0f7:	cc                   	int3
40a0f8:	cc                   	int3
40a0f9:	cc                   	int3
40a0fa:	cc                   	int3
40a0fb:	cc                   	int3
40a0fc:	cc                   	int3
40a0fd:	cc                   	int3
40a0fe:	cc                   	int3
40a0ff:	cc                   	int3
40a100:	83 3d d0 f5 43 00 02 	cmpl   $0x2,0x43f5d0
40a107:	7c 08                	jl     0x40a111
40a109:	83 ec 04             	sub    $0x4,%esp
40a10c:	db 0c 24             	fisttpl (%esp)
40a10f:	58                   	pop    %eax
40a110:	c3                   	ret
40a111:	55                   	push   %ebp
40a112:	8b ec                	mov    %esp,%ebp
40a114:	83 c4 f0             	add    $0xfffffff0,%esp
40a117:	83 e4 f0             	and    $0xfffffff0,%esp
40a11a:	d9 c0                	fld    %st(0)
40a11c:	db 3c 24             	fstpt  (%esp)
40a11f:	8b 44 24 04          	mov    0x4(%esp),%eax
40a123:	0f b7 4c 24 08       	movzwl 0x8(%esp),%ecx
40a128:	0f ba f1 0f          	btr    $0xf,%ecx
40a12c:	1b d2                	sbb    %edx,%edx
40a12e:	66 81 f9 ff 3f       	cmp    $0x3fff,%cx
40a133:	72 1f                	jb     0x40a154
40a135:	85 c0                	test   %eax,%eax
40a137:	79 36                	jns    0x40a16f
40a139:	66 81 f9 1e 40       	cmp    $0x401e,%cx
40a13e:	73 1c                	jae    0x40a15c
40a140:	66 f7 d9             	neg    %cx
40a143:	66 81 c1 3e 40       	add    $0x403e,%cx
40a148:	d9 fc                	frndint
40a14a:	dd d8                	fstp   %st(0)
40a14c:	d3 e8                	shr    %cl,%eax
40a14e:	33 c2                	xor    %edx,%eax
40a150:	2b c2                	sub    %edx,%eax
40a152:	c9                   	leave
40a153:	c3                   	ret
40a154:	d9 fc                	frndint
40a156:	dd d8                	fstp   %st(0)
40a158:	33 c0                	xor    %eax,%eax
40a15a:	c9                   	leave
40a15b:	c3                   	ret
40a15c:	77 11                	ja     0x40a16f
40a15e:	85 d2                	test   %edx,%edx
40a160:	79 0d                	jns    0x40a16f
40a162:	3d 00 00 00 80       	cmp    $0x80000000,%eax
40a167:	75 06                	jne    0x40a16f
40a169:	d9 fc                	frndint
40a16b:	dd d8                	fstp   %st(0)
40a16d:	c9                   	leave
40a16e:	c3                   	ret
40a16f:	d8 1d 08 18 43 00    	fcomps 0x431808
40a175:	c9                   	leave
40a176:	b8 00 00 00 80       	mov    $0x80000000,%eax
40a17b:	c3                   	ret
40a17c:	55                   	push   %ebp
40a17d:	8b ec                	mov    %esp,%ebp
40a17f:	83 ec 14             	sub    $0x14,%esp
40a182:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a185:	0f 57 c0             	xorps  %xmm0,%xmm0
40a188:	50                   	push   %eax
40a189:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
40a18e:	ff 15 30 11 43 00    	call   *0x431130
40a194:	8b 45 f8             	mov    -0x8(%ebp),%eax
40a197:	33 45 f4             	xor    -0xc(%ebp),%eax
40a19a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a19d:	ff 15 08 10 43 00    	call   *0x431008
40a1a3:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a1a6:	ff 15 20 11 43 00    	call   *0x431120
40a1ac:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a1af:	8d 45 ec             	lea    -0x14(%ebp),%eax
40a1b2:	50                   	push   %eax
40a1b3:	ff 15 8c 11 43 00    	call   *0x43118c
40a1b9:	8b 45 f0             	mov    -0x10(%ebp),%eax
40a1bc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40a1bf:	33 45 ec             	xor    -0x14(%ebp),%eax
40a1c2:	33 45 fc             	xor    -0x4(%ebp),%eax
40a1c5:	33 c1                	xor    %ecx,%eax
40a1c7:	c9                   	leave
40a1c8:	c3                   	ret
40a1c9:	8b 0d c0 d0 43 00    	mov    0x43d0c0,%ecx
40a1cf:	56                   	push   %esi
40a1d0:	57                   	push   %edi
40a1d1:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
40a1d6:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40a1db:	3b cf                	cmp    %edi,%ecx
40a1dd:	74 04                	je     0x40a1e3
40a1df:	85 ce                	test   %ecx,%esi
40a1e1:	75 26                	jne    0x40a209
40a1e3:	e8 94 ff ff ff       	call   0x40a17c
40a1e8:	8b c8                	mov    %eax,%ecx
40a1ea:	3b cf                	cmp    %edi,%ecx
40a1ec:	75 07                	jne    0x40a1f5
40a1ee:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
40a1f3:	eb 0e                	jmp    0x40a203
40a1f5:	85 ce                	test   %ecx,%esi
40a1f7:	75 0a                	jne    0x40a203
40a1f9:	0d 11 47 00 00       	or     $0x4711,%eax
40a1fe:	c1 e0 10             	shl    $0x10,%eax
40a201:	0b c8                	or     %eax,%ecx
40a203:	89 0d c0 d0 43 00    	mov    %ecx,0x43d0c0
40a209:	f7 d1                	not    %ecx
40a20b:	5f                   	pop    %edi
40a20c:	89 0d 00 d1 43 00    	mov    %ecx,0x43d100
40a212:	5e                   	pop    %esi
40a213:	c3                   	ret
40a214:	b8 00 40 00 00       	mov    $0x4000,%eax
40a219:	c3                   	ret
40a21a:	68 a0 f2 43 00       	push   $0x43f2a0
40a21f:	ff 15 90 11 43 00    	call   *0x431190
40a225:	c3                   	ret
40a226:	68 00 00 03 00       	push   $0x30000
40a22b:	68 00 00 01 00       	push   $0x10000
40a230:	6a 00                	push   $0x0
40a232:	e8 bf 1b 01 00       	call   0x41bdf6
40a237:	83 c4 0c             	add    $0xc,%esp
40a23a:	85 c0                	test   %eax,%eax
40a23c:	75 01                	jne    0x40a23f
40a23e:	c3                   	ret
40a23f:	6a 07                	push   $0x7
40a241:	e8 36 00 00 00       	call   0x40a27c
40a246:	cc                   	int3
40a247:	e8 5c 85 ff ff       	call   0x4027a8
40a24c:	8b 48 04             	mov    0x4(%eax),%ecx
40a24f:	83 08 24             	orl    $0x24,(%eax)
40a252:	89 48 04             	mov    %ecx,0x4(%eax)
40a255:	e8 04 95 ff ff       	call   0x40375e
40a25a:	8b 48 04             	mov    0x4(%eax),%ecx
40a25d:	83 08 02             	orl    $0x2,(%eax)
40a260:	89 48 04             	mov    %ecx,0x4(%eax)
40a263:	c3                   	ret
40a264:	33 c0                	xor    %eax,%eax
40a266:	39 05 90 d0 43 00    	cmp    %eax,0x43d090
40a26c:	0f 94 c0             	sete   %al
40a26f:	c3                   	ret
40a270:	b8 c4 ff 43 00       	mov    $0x43ffc4,%eax
40a275:	c3                   	ret
40a276:	b8 c0 ff 43 00       	mov    $0x43ffc0,%eax
40a27b:	c3                   	ret
40a27c:	55                   	push   %ebp
40a27d:	8b ec                	mov    %esp,%ebp
40a27f:	81 ec 24 03 00 00    	sub    $0x324,%esp
40a285:	56                   	push   %esi
40a286:	6a 17                	push   $0x17
40a288:	ff 15 a4 11 43 00    	call   *0x4311a4
40a28e:	85 c0                	test   %eax,%eax
40a290:	74 05                	je     0x40a297
40a292:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a295:	cd 29                	int    $0x29
40a297:	6a 03                	push   $0x3
40a299:	e8 cc 01 00 00       	call   0x40a46a
40a29e:	c7 04 24 cc 02 00 00 	movl   $0x2cc,(%esp)
40a2a5:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
40a2ab:	6a 00                	push   $0x0
40a2ad:	50                   	push   %eax
40a2ae:	e8 0d 11 00 00       	call   0x40b3c0
40a2b3:	83 c4 0c             	add    $0xc,%esp
40a2b6:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
40a2bc:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
40a2c2:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
40a2c8:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
40a2ce:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
40a2d4:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
40a2da:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
40a2e1:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
40a2e8:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
40a2ef:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
40a2f6:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
40a2fd:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
40a304:	9c                   	pushf
40a305:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
40a30b:	8b 45 04             	mov    0x4(%ebp),%eax
40a30e:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
40a314:	8d 45 04             	lea    0x4(%ebp),%eax
40a317:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
40a31d:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
40a324:	00 01 00
40a327:	8b 40 fc             	mov    -0x4(%eax),%eax
40a32a:	6a 50                	push   $0x50
40a32c:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
40a332:	8d 45 a8             	lea    -0x58(%ebp),%eax
40a335:	6a 00                	push   $0x0
40a337:	50                   	push   %eax