40b044:	75 21                	jne    0x40b067
40b046:	0f b7 d9             	movzwl %cx,%ebx
40b049:	8b c3                	mov    %ebx,%eax
40b04b:	be 64 00 00 00       	mov    $0x64,%esi
40b050:	33 d2                	xor    %edx,%edx
40b052:	f7 f6                	div    %esi
40b054:	85 d2                	test   %edx,%edx
40b056:	75 14                	jne    0x40b06c
40b058:	8b c3                	mov    %ebx,%eax
40b05a:	b9 90 01 00 00       	mov    $0x190,%ecx
40b05f:	33 d2                	xor    %edx,%edx
40b061:	f7 f1                	div    %ecx
40b063:	85 d2                	test   %edx,%edx
40b065:	74 05                	je     0x40b06c
40b067:	33 c0                	xor    %eax,%eax
40b069:	5e                   	pop    %esi
40b06a:	5b                   	pop    %ebx
40b06b:	c3                   	ret
40b06c:	b0 01                	mov    $0x1,%al
40b06e:	5e                   	pop    %esi
40b06f:	5b                   	pop    %ebx
40b070:	c3                   	ret
40b071:	8d 40 00             	lea    0x0(%eax),%eax
40b074:	55                   	push   %ebp
40b075:	8b ec                	mov    %esp,%ebp
40b077:	83 c4 f8             	add    $0xfffffff8,%esp
40b07a:	53                   	push   %ebx
40b07b:	56                   	push   %esi
40b07c:	57                   	push   %edi
40b07d:	8b d9                	mov    %ecx,%ebx
40b07f:	8b fa                	mov    %edx,%edi
40b081:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
40b085:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
40b089:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
40b08d:	e8 a6 ff ff ff       	call   0x40b038
40b092:	83 e0 7f             	and    $0x7f,%eax
40b095:	8d 04 40             	lea    (%eax,%eax,2),%eax
40b098:	8d 34 c5 e0 a0 68 00 	lea    0x68a0e0(,%eax,8),%esi
40b09f:	66 83 7d fe 01       	cmpw   $0x1,-0x2(%ebp)
40b0a4:	0f 82 86 00 00 00    	jb     0x40b130
40b0aa:	66 81 7d fe 0f 27    	cmpw   $0x270f,-0x2(%ebp)
40b0b0:	77 7e                	ja     0x40b130
40b0b2:	66 83 ff 01          	cmp    $0x1,%di
40b0b6:	72 78                	jb     0x40b130
40b0b8:	66 83 ff 0c          	cmp    $0xc,%di
40b0bc:	77 72                	ja     0x40b130
40b0be:	66 83 fb 01          	cmp    $0x1,%bx
40b0c2:	72 6c                	jb     0x40b130
40b0c4:	0f b7 c7             	movzwl %di,%eax
40b0c7:	66 3b 5c 46 fe       	cmp    -0x2(%esi,%eax,2),%bx
40b0cc:	77 62                	ja     0x40b130
40b0ce:	0f b7 c7             	movzwl %di,%eax
40b0d1:	48                   	dec    %eax
40b0d2:	85 c0                	test   %eax,%eax
40b0d4:	7e 0e                	jle    0x40b0e4
40b0d6:	b9 01 00 00 00       	mov    $0x1,%ecx
40b0db:	66 03 5c 4e fe       	add    -0x2(%esi,%ecx,2),%bx
40b0e0:	41                   	inc    %ecx
40b0e1:	48                   	dec    %eax
40b0e2:	75 f7                	jne    0x40b0db
40b0e4:	0f b7 4d fe          	movzwl -0x2(%ebp),%ecx
40b0e8:	49                   	dec    %ecx
40b0e9:	8b c1                	mov    %ecx,%eax
40b0eb:	be 64 00 00 00       	mov    $0x64,%esi
40b0f0:	99                   	cltd
40b0f1:	f7 fe                	idiv   %esi
40b0f3:	69 f1 6d 01 00 00    	imul   $0x16d,%ecx,%esi
40b0f9:	8b d1                	mov    %ecx,%edx
40b0fb:	85 d2                	test   %edx,%edx
40b0fd:	79 03                	jns    0x40b102
40b0ff:	83 c2 03             	add    $0x3,%edx
40b102:	c1 fa 02             	sar    $0x2,%edx
40b105:	03 f2                	add    %edx,%esi
40b107:	2b f0                	sub    %eax,%esi
40b109:	8b c1                	mov    %ecx,%eax
40b10b:	b9 90 01 00 00       	mov    $0x190,%ecx
40b110:	99                   	cltd
40b111:	f7 f9                	idiv   %ecx
40b113:	03 f0                	add    %eax,%esi
40b115:	0f b7 c3             	movzwl %bx,%eax
40b118:	03 f0                	add    %eax,%esi
40b11a:	81 ee 5a 95 0a 00    	sub    $0xa955a,%esi
40b120:	89 75 f8             	mov    %esi,-0x8(%ebp)
40b123:	db 45 f8             	fildl  -0x8(%ebp)
40b126:	8b 45 08             	mov    0x8(%ebp),%eax
40b129:	dd 18                	fstpl  (%eax)
40b12b:	9b                   	fwait
40b12c:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
40b130:	8a 45 fd             	mov    -0x3(%ebp),%al
40b133:	5f                   	pop    %edi
40b134:	5e                   	pop    %esi
40b135:	5b                   	pop    %ebx
40b136:	59                   	pop    %ecx
40b137:	59                   	pop    %ecx
40b138:	5d                   	pop    %ebp
40b139:	c2 04 00             	ret    $0x4
40b13c:	53                   	push   %ebx
40b13d:	56                   	push   %esi
40b13e:	57                   	push   %edi
40b13f:	83 c4 f8             	add    $0xfffffff8,%esp
40b142:	8b f9                	mov    %ecx,%edi
40b144:	8b f2                	mov    %edx,%esi
40b146:	8b d8                	mov    %eax,%ebx
40b148:	54                   	push   %esp
40b149:	8b cf                	mov    %edi,%ecx
40b14b:	8b d6                	mov    %esi,%edx
40b14d:	8b c3                	mov    %ebx,%eax
40b14f:	e8 20 ff ff ff       	call   0x40b074
40b154:	84 c0                	test   %al,%al
40b156:	75 0a                	jne    0x40b162
40b158:	a1 48 70 6a 00       	mov    0x6a7048,%eax
40b15d:	e8 16 df ff ff       	call   0x409078
40b162:	dd 04 24             	fldl   (%esp)
40b165:	59                   	pop    %ecx
40b166:	5a                   	pop    %edx
40b167:	5f                   	pop    %edi
40b168:	5e                   	pop    %esi
40b169:	5b                   	pop    %ebx
40b16a:	c3                   	ret
40b16b:	90                   	nop
40b16c:	55                   	push   %ebp
40b16d:	8b ec                	mov    %esp,%ebp
40b16f:	83 c4 e8             	add    $0xffffffe8,%esp
40b172:	53                   	push   %ebx
40b173:	56                   	push   %esi
40b174:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40b177:	89 55 f8             	mov    %edx,-0x8(%ebp)
40b17a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b17d:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b180:	ff 75 10             	push   0x10(%ebp)
40b183:	ff 75 0c             	push   0xc(%ebp)
40b186:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b189:	e8 5a fd ff ff       	call   0x40aee8
40b18e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b191:	85 c9                	test   %ecx,%ecx
40b193:	7f 24                	jg     0x40b1b9
40b195:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b198:	66 c7 00 00 00       	movw   $0x0,(%eax)
40b19d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b1a0:	66 c7 00 00 00       	movw   $0x0,(%eax)
40b1a5:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b1a8:	66 c7 00 00 00       	movw   $0x0,(%eax)
40b1ad:	66 c7 03 00 00       	movw   $0x0,(%ebx)
40b1b2:	33 d2                	xor    %edx,%edx
40b1b4:	e9 f2 00 00 00       	jmp    0x40b2ab
40b1b9:	8b c1                	mov    %ecx,%eax
40b1bb:	be 07 00 00 00       	mov    $0x7,%esi
40b1c0:	99                   	cltd
40b1c1:	f7 fe                	idiv   %esi
40b1c3:	42                   	inc    %edx
40b1c4:	66 89 13             	mov    %dx,(%ebx)
40b1c7:	49                   	dec    %ecx
40b1c8:	66 bb 01 00          	mov    $0x1,%bx
40b1cc:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
40b1d2:	7c 13                	jl     0x40b1e7
40b1d4:	81 e9 b1 3a 02 00    	sub    $0x23ab1,%ecx
40b1da:	66 81 c3 90 01       	add    $0x190,%bx
40b1df:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
40b1e5:	7d ed                	jge    0x40b1d4
40b1e7:	8d 45 f2             	lea    -0xe(%ebp),%eax
40b1ea:	50                   	push   %eax
40b1eb:	8d 45 f0             	lea    -0x10(%ebp),%eax
40b1ee:	66 ba ac 8e          	mov    $0x8eac,%dx
40b1f2:	91                   	xchg   %eax,%ecx
40b1f3:	e8 64 de ff ff       	call   0x40905c
40b1f8:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
40b1fd:	75 0a                	jne    0x40b209
40b1ff:	66 ff 4d f0          	decw   -0x10(%ebp)
40b203:	66 81 45 f2 ac 8e    	addw   $0x8eac,-0xe(%ebp)
40b209:	66 6b 45 f0 64       	imul   $0x64,-0x10(%ebp),%ax
40b20e:	66 03 d8             	add    %ax,%bx
40b211:	8d 45 f2             	lea    -0xe(%ebp),%eax
40b214:	50                   	push   %eax
40b215:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40b218:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
40b21c:	66 ba b5 05          	mov    $0x5b5,%dx
40b220:	e8 37 de ff ff       	call   0x40905c
40b225:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
40b229:	c1 e0 02             	shl    $0x2,%eax
40b22c:	66 03 d8             	add    %ax,%bx
40b22f:	8d 45 f2             	lea    -0xe(%ebp),%eax
40b232:	50                   	push   %eax
40b233:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40b236:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
40b23a:	66 ba 6d 01          	mov    $0x16d,%dx
40b23e:	e8 19 de ff ff       	call   0x40905c
40b243:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
40b248:	75 0a                	jne    0x40b254
40b24a:	66 ff 4d f0          	decw   -0x10(%ebp)
40b24e:	66 81 45 f2 6d 01    	addw   $0x16d,-0xe(%ebp)
40b254:	66 03 5d f0          	add    -0x10(%ebp),%bx
40b258:	8b c3                	mov    %ebx,%eax
40b25a:	e8 d9 fd ff ff       	call   0x40b038
40b25f:	8b d0                	mov    %eax,%edx
40b261:	33 c0                	xor    %eax,%eax
40b263:	8a c2                	mov    %dl,%al
40b265:	8d 04 40             	lea    (%eax,%eax,2),%eax
40b268:	8d 34 c5 e0 a0 68 00 	lea    0x68a0e0(,%eax,8),%esi
40b26f:	66 b8 01 00          	mov    $0x1,%ax
40b273:	0f b7 c8             	movzwl %ax,%ecx
40b276:	66 8b 4c 4e fe       	mov    -0x2(%esi,%ecx,2),%cx
40b27b:	66 89 4d f0          	mov    %cx,-0x10(%ebp)
40b27f:	66 8b 4d f2          	mov    -0xe(%ebp),%cx
40b283:	66 3b 4d f0          	cmp    -0x10(%ebp),%cx
40b287:	72 0b                	jb     0x40b294
40b289:	66 8b 4d f0          	mov    -0x10(%ebp),%cx
40b28d:	66 29 4d f2          	sub    %cx,-0xe(%ebp)
40b291:	40                   	inc    %eax
40b292:	eb df                	jmp    0x40b273
40b294:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b297:	66 89 19             	mov    %bx,(%ecx)
40b29a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40b29d:	66 89 01             	mov    %ax,(%ecx)
40b2a0:	66 8b 45 f2          	mov    -0xe(%ebp),%ax
40b2a4:	40                   	inc    %eax
40b2a5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b2a8:	66 89 01             	mov    %ax,(%ecx)
40b2ab:	8b c2                	mov    %edx,%eax
40b2ad:	5e                   	pop    %esi
40b2ae:	5b                   	pop    %ebx
40b2af:	8b e5                	mov    %ebp,%esp
40b2b1:	5d                   	pop    %ebp
40b2b2:	c2 0c 00             	ret    $0xc
40b2b5:	8d 40 00             	lea    0x0(%eax),%eax
40b2b8:	55                   	push   %ebp
40b2b9:	8b ec                	mov    %esp,%ebp
40b2bb:	51                   	push   %ecx
40b2bc:	56                   	push   %esi
40b2bd:	8b f0                	mov    %eax,%esi
40b2bf:	ff 75 0c             	push   0xc(%ebp)
40b2c2:	ff 75 08             	push   0x8(%ebp)
40b2c5:	8d 45 fe             	lea    -0x2(%ebp),%eax
40b2c8:	50                   	push   %eax
40b2c9:	8b c6                	mov    %esi,%eax
40b2cb:	e8 9c fe ff ff       	call   0x40b16c
40b2d0:	5e                   	pop    %esi
40b2d1:	59                   	pop    %ecx
40b2d2:	5d                   	pop    %ebp
40b2d3:	c2 08 00             	ret    $0x8
40b2d6:	8b c0                	mov    %eax,%eax
40b2d8:	55                   	push   %ebp
40b2d9:	8b ec                	mov    %esp,%ebp
40b2db:	83 c4 f8             	add    $0xfffffff8,%esp
40b2de:	ff 75 0c             	push   0xc(%ebp)
40b2e1:	ff 75 08             	push   0x8(%ebp)
40b2e4:	8d 45 f8             	lea    -0x8(%ebp),%eax
40b2e7:	e8 fc fb ff ff       	call   0x40aee8
40b2ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b2ef:	b9 07 00 00 00       	mov    $0x7,%ecx
40b2f4:	99                   	cltd
40b2f5:	f7 f9                	idiv   %ecx
40b2f7:	8b c2                	mov    %edx,%eax
40b2f9:	40                   	inc    %eax
40b2fa:	59                   	pop    %ecx
40b2fb:	59                   	pop    %ecx
40b2fc:	5d                   	pop    %ebp
40b2fd:	c2 08 00             	ret    $0x8
40b300:	83 c4 e8             	add    $0xffffffe8,%esp
40b303:	8d 44 24 08          	lea    0x8(%esp),%eax
40b307:	50                   	push   %eax
40b308:	e8 fb be ff ff       	call   0x407208
40b30d:	66 8b 4c 24 0e       	mov    0xe(%esp),%cx
40b312:	66 8b 54 24 0a       	mov    0xa(%esp),%dx
40b317:	66 8b 44 24 08       	mov    0x8(%esp),%ax
40b31c:	e8 1b fe ff ff       	call   0x40b13c
40b321:	dd 1c 24             	fstpl  (%esp)
40b324:	9b dd 04 24          	fldl   (%esp)
40b328:	83 c4 18             	add    $0x18,%esp
40b32b:	c3                   	ret
40b32c:	83 c4 e8             	add    $0xffffffe8,%esp
40b32f:	8d 44 24 08          	lea    0x8(%esp),%eax
40b333:	50                   	push   %eax
40b334:	e8 cf be ff ff       	call   0x407208
40b339:	66 8b 44 24 16       	mov    0x16(%esp),%ax
40b33e:	50                   	push   %eax
40b33f:	66 8b 4c 24 18       	mov    0x18(%esp),%cx
40b344:	66 8b 54 24 16       	mov    0x16(%esp),%dx
40b349:	66 8b 44 24 14       	mov    0x14(%esp),%ax
40b34e:	e8 49 fc ff ff       	call   0x40af9c
40b353:	dd 1c 24             	fstpl  (%esp)
40b356:	9b dd 04 24          	fldl   (%esp)
40b35a:	83 c4 18             	add    $0x18,%esp
40b35d:	c3                   	ret
40b35e:	8b c0                	mov    %eax,%eax
40b360:	83 c4 e0             	add    $0xffffffe0,%esp
40b363:	8d 44 24 08          	lea    0x8(%esp),%eax
40b367:	50                   	push   %eax
40b368:	e8 9b be ff ff       	call   0x407208
40b36d:	66 8b 4c 24 0e       	mov    0xe(%esp),%cx
40b372:	66 8b 54 24 0a       	mov    0xa(%esp),%dx
40b377:	66 8b 44 24 08       	mov    0x8(%esp),%ax
40b37c:	e8 bb fd ff ff       	call   0x40b13c
40b381:	dd 5c 24 18          	fstpl  0x18(%esp)
40b385:	9b                   	fwait
40b386:	66 8b 44 24 16       	mov    0x16(%esp),%ax
40b38b:	50                   	push   %eax
40b38c:	66 8b 4c 24 18       	mov    0x18(%esp),%cx
40b391:	66 8b 54 24 16       	mov    0x16(%esp),%dx
40b396:	66 8b 44 24 14       	mov    0x14(%esp),%ax
40b39b:	e8 fc fb ff ff       	call   0x40af9c
40b3a0:	dc 44 24 18          	faddl  0x18(%esp)
40b3a4:	dd 1c 24             	fstpl  (%esp)
40b3a7:	9b dd 04 24          	fldl   (%esp)
40b3ab:	83 c4 20             	add    $0x20,%esp
40b3ae:	c3                   	ret
40b3af:	90                   	nop
40b3b0:	83 c4 f0             	add    $0xfffffff0,%esp
40b3b3:	54                   	push   %esp
40b3b4:	e8 4f be ff ff       	call   0x407208
40b3b9:	66 8b 04 24          	mov    (%esp),%ax
40b3bd:	83 c4 10             	add    $0x10,%esp
40b3c0:	c3                   	ret
40b3c1:	8d 40 00             	lea    0x0(%eax),%eax
40b3c4:	55                   	push   %ebp
40b3c5:	8b ec                	mov    %esp,%ebp
40b3c7:	53                   	push   %ebx
40b3c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b3cb:	bb 00 01 00 00       	mov    $0x100,%ebx
40b3d0:	2b 99 fc fe ff ff    	sub    -0x104(%ecx),%ebx
40b3d6:	3b d3                	cmp    %ebx,%edx
40b3d8:	7d 02                	jge    0x40b3dc
40b3da:	8b da                	mov    %edx,%ebx
40b3dc:	85 db                	test   %ebx,%ebx
40b3de:	74 1a                	je     0x40b3fa
40b3e0:	8b 55 08             	mov    0x8(%ebp),%edx
40b3e3:	8b 92 fc fe ff ff    	mov    -0x104(%edx),%edx
40b3e9:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b3ec:	8d 94 11 00 ff ff ff 	lea    -0x100(%ecx,%edx,1),%edx
40b3f3:	8b cb                	mov    %ebx,%ecx
40b3f5:	e8 26 76 ff ff       	call   0x402a20
40b3fa:	8b 45 08             	mov    0x8(%ebp),%eax
40b3fd:	01 98 fc fe ff ff    	add    %ebx,-0x104(%eax)
40b403:	5b                   	pop    %ebx
40b404:	5d                   	pop    %ebp
40b405:	c3                   	ret
40b406:	8b c0                	mov    %eax,%eax
40b408:	55                   	push   %ebp
40b409:	8b ec                	mov    %esp,%ebp
40b40b:	53                   	push   %ebx
40b40c:	8b d8                	mov    %eax,%ebx
40b40e:	8b 45 08             	mov    0x8(%ebp),%eax
40b411:	50                   	push   %eax
40b412:	8b c3                	mov    %ebx,%eax
40b414:	e8 07 97 ff ff       	call   0x404b20
40b419:	8b d0                	mov    %eax,%edx
40b41b:	8b c3                	mov    %ebx,%eax
40b41d:	e8 a2 ff ff ff       	call   0x40b3c4
40b422:	59                   	pop    %ecx
40b423:	5b                   	pop    %ebx
40b424:	5d                   	pop    %ebp