40fe2c:	89 41 08             	mov    %eax,0x8(%ecx)
40fe2f:	bf 00 20 00 00       	mov    $0x2000,%edi
40fe34:	8b d7                	mov    %edi,%edx
40fe36:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40fe3c:	e8 c4 1b 00 00       	call   0x411a05
40fe41:	8b b5 40 ff ff ff    	mov    -0xc0(%ebp),%esi
40fe47:	85 f6                	test   %esi,%esi
40fe49:	0f 84 f8 01 00 00    	je     0x410047
40fe4f:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40fe55:	ff 70 38             	push   0x38(%eax)
40fe58:	8b d7                	mov    %edi,%edx
40fe5a:	8b ce                	mov    %esi,%ecx
40fe5c:	e8 3f f5 ff ff       	call   0x40f3a0
40fe61:	8b ce                	mov    %esi,%ecx
40fe63:	8d 51 02             	lea    0x2(%ecx),%edx
40fe66:	66 8b 01             	mov    (%ecx),%ax
40fe69:	83 c1 02             	add    $0x2,%ecx
40fe6c:	66 3b c3             	cmp    %bx,%ax
40fe6f:	75 f5                	jne    0x40fe66
40fe71:	2b ca                	sub    %edx,%ecx
40fe73:	d1 f9                	sar    $1,%ecx
40fe75:	41                   	inc    %ecx
40fe76:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
40fe79:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
40fe7f:	33 c0                	xor    %eax,%eax
40fe81:	66 89 01             	mov    %ax,(%ecx)
40fe84:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40fe8a:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
40fe8e:	74 12                	je     0x40fea2
40fe90:	ff 70 3c             	push   0x3c(%eax)
40fe93:	8b c1                	mov    %ecx,%eax
40fe95:	2b c6                	sub    %esi,%eax
40fe97:	d1 f8                	sar    $1,%eax
40fe99:	2b f8                	sub    %eax,%edi
40fe9b:	8b d7                	mov    %edi,%edx
40fe9d:	e8 fe f4 ff ff       	call   0x40f3a0
40fea2:	8b 0d 48 67 43 00    	mov    0x436748,%ecx
40fea8:	8b 49 0c             	mov    0xc(%ecx),%ecx
40feab:	e8 df 1a 00 00       	call   0x41198f
40feb0:	8b ce                	mov    %esi,%ecx
40feb2:	8d 51 02             	lea    0x2(%ecx),%edx
40feb5:	66 8b 01             	mov    (%ecx),%ax
40feb8:	83 c1 02             	add    $0x2,%ecx
40febb:	66 3b c3             	cmp    %bx,%ax
40febe:	75 f5                	jne    0x40feb5
40fec0:	2b ca                	sub    %edx,%ecx
40fec2:	d1 f9                	sar    $1,%ecx
40fec4:	a1 48 67 43 00       	mov    0x436748,%eax
40fec9:	89 48 64             	mov    %ecx,0x64(%eax)
40fecc:	8b ce                	mov    %esi,%ecx
40fece:	e8 dd ad ff ff       	call   0x40acb0
40fed3:	8b 15 48 67 43 00    	mov    0x436748,%edx
40fed9:	89 42 3c             	mov    %eax,0x3c(%edx)
40fedc:	85 c0                	test   %eax,%eax
40fede:	0f 84 b5 e6 00 00    	je     0x41e599
40fee4:	89 82 8c 00 00 00    	mov    %eax,0x8c(%edx)
40feea:	8d 42 68             	lea    0x68(%edx),%eax
40feed:	6a 09                	push   $0x9
40feef:	59                   	pop    %ecx
40fef0:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
40fef6:	89 58 d8             	mov    %ebx,-0x28(%eax)
40fef9:	89 18                	mov    %ebx,(%eax)
40fefb:	8d 40 04             	lea    0x4(%eax),%eax
40fefe:	83 e9 01             	sub    $0x1,%ecx
40ff01:	75 f3                	jne    0x40fef6
40ff03:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
40ff09:	66 39 1f             	cmp    %bx,(%edi)
40ff0c:	0f 84 3c 01 00 00    	je     0x41004e
40ff12:	68 78 24 40 00       	push   $0x402478
40ff17:	57                   	push   %edi
40ff18:	ff 15 24 a3 44 00    	call   *0x44a324
40ff1e:	59                   	pop    %ecx
40ff1f:	59                   	pop    %ecx
40ff20:	8d 0c 47             	lea    (%edi,%eax,2),%ecx
40ff23:	e8 88 ad ff ff       	call   0x40acb0
40ff28:	8b d0                	mov    %eax,%edx
40ff2a:	a1 48 67 43 00       	mov    0x436748,%eax
40ff2f:	89 50 34             	mov    %edx,0x34(%eax)
40ff32:	85 d2                	test   %edx,%edx
40ff34:	0f 84 5f e6 00 00    	je     0x41e599
40ff3a:	8b ca                	mov    %edx,%ecx
40ff3c:	8d 79 02             	lea    0x2(%ecx),%edi
40ff3f:	66 8b 01             	mov    (%ecx),%ax
40ff42:	83 c1 02             	add    $0x2,%ecx
40ff45:	66 3b c3             	cmp    %bx,%ax
40ff48:	75 f5                	jne    0x40ff3f
40ff4a:	2b cf                	sub    %edi,%ecx
40ff4c:	d1 f9                	sar    $1,%ecx
40ff4e:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
40ff51:	3b c2                	cmp    %edx,%eax
40ff53:	74 1a                	je     0x40ff6f
40ff55:	0f b7 48 fe          	movzwl -0x2(%eax),%ecx
40ff59:	83 f9 20             	cmp    $0x20,%ecx
40ff5c:	0f 84 c8 00 00 00    	je     0x41002a
40ff62:	66 3b 8d 3c ff ff ff 	cmp    -0xc4(%ebp),%cx
40ff69:	0f 84 bb 00 00 00    	je     0x41002a
40ff6f:	33 c9                	xor    %ecx,%ecx
40ff71:	66 89 08             	mov    %cx,(%eax)
40ff74:	38 0d 55 67 43 00    	cmp    %cl,0x436755
40ff7a:	0f 84 26 e6 00 00    	je     0x41e5a6
40ff80:	53                   	push   %ebx
40ff81:	33 d2                	xor    %edx,%edx
40ff83:	8b 0d 48 67 43 00    	mov    0x436748,%ecx
40ff89:	8b 49 34             	mov    0x34(%ecx),%ecx
40ff8c:	e8 9f bc ff ff       	call   0x40bc30
40ff91:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
40ff97:	8b 15 48 67 43 00    	mov    0x436748,%edx
40ff9d:	66 39 18             	cmp    %bx,(%eax)
40ffa0:	74 61                	je     0x410003
40ffa2:	8d 7a 68             	lea    0x68(%edx),%edi
40ffa5:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
40ffab:	33 c9                	xor    %ecx,%ecx
40ffad:	41                   	inc    %ecx
40ffae:	83 f9 0a             	cmp    $0xa,%ecx
40ffb1:	7d 50                	jge    0x410003
40ffb3:	89 47 d8             	mov    %eax,-0x28(%edi)
40ffb6:	8b f8                	mov    %eax,%edi
40ffb8:	8d 47 02             	lea    0x2(%edi),%eax
40ffbb:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
40ffc1:	66 8b 07             	mov    (%edi),%ax
40ffc4:	83 c7 02             	add    $0x2,%edi
40ffc7:	66 3b c3             	cmp    %bx,%ax
40ffca:	75 f5                	jne    0x40ffc1
40ffcc:	2b bd 48 ff ff ff    	sub    -0xb8(%ebp),%edi
40ffd2:	d1 ff                	sar    $1,%edi
40ffd4:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40ffda:	89 38                	mov    %edi,(%eax)
40ffdc:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
40ffe2:	8d 04 78             	lea    (%eax,%edi,2),%eax
40ffe5:	83 c0 02             	add    $0x2,%eax
40ffe8:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
40ffee:	41                   	inc    %ecx
40ffef:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
40fff5:	83 c7 04             	add    $0x4,%edi
40fff8:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
40fffe:	66 39 18             	cmp    %bx,(%eax)
410001:	75 ab                	jne    0x40ffae
410003:	89 42 38             	mov    %eax,0x38(%edx)
410006:	a1 78 67 43 00       	mov    0x436778,%eax
41000b:	89 42 10             	mov    %eax,0x10(%edx)
41000e:	56                   	push   %esi
41000f:	ff 15 e0 a3 44 00    	call   *0x44a3e0
410015:	59                   	pop    %ecx
410016:	33 c0                	xor    %eax,%eax
410018:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41001b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410022:	59                   	pop    %ecx
410023:	5f                   	pop    %edi
410024:	5e                   	pop    %esi
410025:	5b                   	pop    %ebx
410026:	c9                   	leave
410027:	c2 08 00             	ret    $0x8
41002a:	83 c0 fe             	add    $0xfffffffe,%eax
41002d:	e9 1f ff ff ff       	jmp    0x40ff51
410032:	8b 45 08             	mov    0x8(%ebp),%eax
410035:	52                   	push   %edx
410036:	8b d0                	mov    %eax,%edx
410038:	8b cf                	mov    %edi,%ecx
41003a:	e8 96 1c 00 00       	call   0x411cd5
41003f:	85 c0                	test   %eax,%eax
410041:	0f 84 e8 fd ff ff    	je     0x40fe2f
410047:	33 c9                	xor    %ecx,%ecx
410049:	8d 41 01             	lea    0x1(%ecx),%eax
41004c:	eb ca                	jmp    0x410018
41004e:	89 5a 38             	mov    %ebx,0x38(%edx)
410051:	89 5a 34             	mov    %ebx,0x34(%edx)
410054:	eb b0                	jmp    0x410006
410056:	cc                   	int3
410057:	cc                   	int3
410058:	cc                   	int3
410059:	cc                   	int3
41005a:	cc                   	int3
41005b:	cc                   	int3
41005c:	cc                   	int3
41005d:	cc                   	int3
41005e:	cc                   	int3
41005f:	cc                   	int3
410060:	8b ff                	mov    %edi,%edi
410062:	53                   	push   %ebx
410063:	8b d9                	mov    %ecx,%ebx
410065:	85 db                	test   %ebx,%ebx
410067:	74 10                	je     0x410079
410069:	6a 22                	push   $0x22
41006b:	53                   	push   %ebx
41006c:	ff 15 b0 a3 44 00    	call   *0x44a3b0
410072:	83 c4 08             	add    $0x8,%esp
410075:	85 c0                	test   %eax,%eax
410077:	75 04                	jne    0x41007d
410079:	8b c3                	mov    %ebx,%eax
41007b:	5b                   	pop    %ebx
41007c:	c3                   	ret
41007d:	56                   	push   %esi
41007e:	57                   	push   %edi
41007f:	8b f3                	mov    %ebx,%esi
410081:	b9 00 10 00 00       	mov    $0x1000,%ecx
410086:	33 c0                	xor    %eax,%eax
410088:	bf d0 67 43 00       	mov    $0x4367d0,%edi
41008d:	f3 ab                	rep stos %eax,%es:(%edi)
41008f:	8d 4e 02             	lea    0x2(%esi),%ecx
410092:	66 8b 06             	mov    (%esi),%ax
410095:	83 c6 02             	add    $0x2,%esi
410098:	66 85 c0             	test   %ax,%ax
41009b:	75 f5                	jne    0x410092
41009d:	2b f1                	sub    %ecx,%esi
41009f:	33 d2                	xor    %edx,%edx
4100a1:	d1 fe                	sar    $1,%esi
4100a3:	33 c0                	xor    %eax,%eax
4100a5:	85 f6                	test   %esi,%esi
4100a7:	7e 1e                	jle    0x4100c7
4100a9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4100b0:	0f b7 0c 43          	movzwl (%ebx,%eax,2),%ecx
4100b4:	83 f9 22             	cmp    $0x22,%ecx
4100b7:	74 09                	je     0x4100c2
4100b9:	66 89 0c 55 d0 67 43 	mov    %cx,0x4367d0(,%edx,2)
4100c0:	00
4100c1:	42                   	inc    %edx
4100c2:	40                   	inc    %eax
4100c3:	3b c6                	cmp    %esi,%eax
4100c5:	7c e9                	jl     0x4100b0
4100c7:	03 d2                	add    %edx,%edx
4100c9:	5f                   	pop    %edi
4100ca:	5e                   	pop    %esi
4100cb:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
4100d1:	73 10                	jae    0x4100e3
4100d3:	33 c9                	xor    %ecx,%ecx
4100d5:	b8 d0 67 43 00       	mov    $0x4367d0,%eax
4100da:	66 89 8a d0 67 43 00 	mov    %cx,0x4367d0(%edx)
4100e1:	5b                   	pop    %ebx
4100e2:	c3                   	ret
4100e3:	e8 90 6b 00 00       	call   0x416c78
4100e8:	cc                   	int3
4100e9:	8b ff                	mov    %edi,%edi
4100eb:	55                   	push   %ebp
4100ec:	8b ec                	mov    %esp,%ebp
4100ee:	81 ec 18 02 00 00    	sub    $0x218,%esp
4100f4:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4100f9:	33 c5                	xor    %ebp,%eax
4100fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4100fe:	53                   	push   %ebx
4100ff:	56                   	push   %esi
410100:	be 04 01 00 00       	mov    $0x104,%esi
410105:	c6 45 f4 01          	movb   $0x1,-0xc(%ebp)
410109:	33 db                	xor    %ebx,%ebx
41010b:	89 75 f8             	mov    %esi,-0x8(%ebp)
41010e:	56                   	push   %esi
41010f:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
410115:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410118:	53                   	push   %ebx
410119:	50                   	push   %eax
41011a:	e8 9e 7e 00 00       	call   0x417fbd
41011f:	33 c0                	xor    %eax,%eax
410121:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
410127:	83 c4 0c             	add    $0xc,%esp
41012a:	38 45 f4             	cmp    %al,-0xc(%ebp)
41012d:	0f 94 c0             	sete   %al
410130:	48                   	dec    %eax
410131:	25 e3 7e 00 00       	and    $0x7ee3,%eax
410136:	03 c6                	add    %esi,%eax
410138:	50                   	push   %eax
410139:	e8 b2 e2 ff ff       	call   0x40e3f0
41013e:	85 c0                	test   %eax,%eax
410140:	0f 88 cf e4 00 00    	js     0x41e615
410146:	8b 45 f0             	mov    -0x10(%ebp),%eax
410149:	85 c0                	test   %eax,%eax
41014b:	0f 84 d6 e4 00 00    	je     0x41e627
410151:	ff 75 f8             	push   -0x8(%ebp)
410154:	50                   	push   %eax
410155:	53                   	push   %ebx
410156:	ff 15 7c a1 44 00    	call   *0x44a17c
41015c:	be 00 25 40 00       	mov    $0x402500,%esi
410161:	8b ce                	mov    %esi,%ecx
410163:	e8 c6 ea ff ff       	call   0x40ec2e
410168:	85 c0                	test   %eax,%eax
41016a:	0f 84 c2 e4 00 00    	je     0x41e632
410170:	be f0 24 40 00       	mov    $0x4024f0,%esi
410175:	8b ce                	mov    %esi,%ecx
410177:	e8 b2 ea ff ff       	call   0x40ec2e
41017c:	85 c0                	test   %eax,%eax
41017e:	0f 84 bf e4 00 00    	je     0x41e643
410184:	be e0 24 40 00       	mov    $0x4024e0,%esi
410189:	8b ce                	mov    %esi,%ecx
41018b:	e8 9e ea ff ff       	call   0x40ec2e
410190:	85 c0                	test   %eax,%eax
410192:	0f 84 bc e4 00 00    	je     0x41e654
410198:	b9 d0 24 40 00       	mov    $0x4024d0,%ecx
41019d:	e8 8c ea ff ff       	call   0x40ec2e
4101a2:	85 c0                	test   %eax,%eax
4101a4:	0f 84 bb e4 00 00    	je     0x41e665
4101aa:	b9 c4 24 40 00       	mov    $0x4024c4,%ecx
4101af:	e8 7a ea ff ff       	call   0x40ec2e
4101b4:	85 c0                	test   %eax,%eax
4101b6:	0f 85 58 e5 00 00    	jne    0x41e714
4101bc:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
4101c2:	85 c9                	test   %ecx,%ecx
4101c4:	74 28                	je     0x4101ee
4101c6:	33 d2                	xor    %edx,%edx
4101c8:	42                   	inc    %edx
4101c9:	e8 f9 89 ff ff       	call   0x408bc7
4101ce:	8b 45 f0             	mov    -0x10(%ebp),%eax
4101d1:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4101d4:	5e                   	pop    %esi
4101d5:	5b                   	pop    %ebx
4101d6:	85 c0                	test   %eax,%eax
4101d8:	74 08                	je     0x4101e2
4101da:	50                   	push   %eax
4101db:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4101e1:	59                   	pop    %ecx
4101e2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4101e5:	33 cd                	xor    %ebp,%ecx
4101e7:	e8 44 69 00 00       	call   0x416b30
4101ec:	c9                   	leave
4101ed:	c3                   	ret
4101ee:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
4101f3:	eb d1                	jmp    0x4101c6
4101f5:	85 c9                	test   %ecx,%ecx
4101f7:	74 0b                	je     0x410204
4101f9:	52                   	push   %edx
4101fa:	51                   	push   %ecx
4101fb:	ff 15 04 a4 44 00    	call   *0x44a404
410201:	59                   	pop    %ecx
410202:	59                   	pop    %ecx
410203:	c3                   	ret
410204:	33 c0                	xor    %eax,%eax
410206:	c3                   	ret
410207:	8b ff                	mov    %edi,%edi
410209:	55                   	push   %ebp
41020a:	8b ec                	mov    %esp,%ebp
41020c:	83 e4 f8             	and    $0xfffffff8,%esp
41020f:	81 ec 74 02 00 00    	sub    $0x274,%esp
410215:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
41021a:	33 c4                	xor    %esp,%eax
41021c:	89 84 24 70 02 00 00 	mov    %eax,0x270(%esp)
410223:	53                   	push   %ebx
410224:	56                   	push   %esi
410225:	8b d9                	mov    %ecx,%ebx
410227:	89 54 24 18          	mov    %edx,0x18(%esp)
41022b:	57                   	push   %edi
41022c:	33 ff                	xor    %edi,%edi
41022e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
410232:	89 7c 24 14          	mov    %edi,0x14(%esp)
410236:	8d 73 02             	lea    0x2(%ebx),%esi
410239:	66 8b 03             	mov    (%ebx),%ax
41023c:	83 c3 02             	add    $0x2,%ebx
41023f:	66 3b c7             	cmp    %di,%ax
410242:	75 f5                	jne    0x410239
410244:	2b de                	sub    %esi,%ebx
410246:	d1 fb                	sar    $1,%ebx
410248:	3b da                	cmp    %edx,%ebx
41024a:	0f 8f 2d 01 00 00    	jg     0x41037d
410250:	8d 79 06             	lea    0x6(%ecx),%edi