408d0e:	0f 84 60 29 01 00    	je     0x41b674
408d14:	33 d2                	xor    %edx,%edx
408d16:	66 39 10             	cmp    %dx,(%eax)
408d19:	0f 84 28 2a 01 00    	je     0x41b747
408d1f:	85 c9                	test   %ecx,%ecx
408d21:	8b c1                	mov    %ecx,%eax
408d23:	0f 84 56 29 01 00    	je     0x41b67f
408d29:	66 39 70 02          	cmp    %si,0x2(%eax)
408d2d:	0f 85 14 2a 01 00    	jne    0x41b747
408d33:	85 c9                	test   %ecx,%ecx
408d35:	8b d1                	mov    %ecx,%edx
408d37:	0f 84 4d 29 01 00    	je     0x41b68a
408d3d:	8d 72 02             	lea    0x2(%edx),%esi
408d40:	66 8b 02             	mov    (%edx),%ax
408d43:	83 c2 02             	add    $0x2,%edx
408d46:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
408d4a:	75 f4                	jne    0x408d40
408d4c:	2b d6                	sub    %esi,%edx
408d4e:	d1 fa                	sar    $1,%edx
408d50:	85 c9                	test   %ecx,%ecx
408d52:	0f 84 3d 29 01 00    	je     0x41b695
408d58:	8d 14 51             	lea    (%ecx,%edx,2),%edx
408d5b:	8b f2                	mov    %edx,%esi
408d5d:	89 95 b8 fd ff ff    	mov    %edx,-0x248(%ebp)
408d63:	8d 8d bc fd ff ff    	lea    -0x244(%ebp),%ecx
408d69:	e8 14 f0 00 00       	call   0x417d82
408d6e:	83 c0 06             	add    $0x6,%eax
408d71:	3b f0                	cmp    %eax,%esi
408d73:	76 0d                	jbe    0x408d82
408d75:	6a 5c                	push   $0x5c
408d77:	58                   	pop    %eax
408d78:	66 39 42 fe          	cmp    %ax,-0x2(%edx)
408d7c:	0f 84 f5 00 00 00    	je     0x408e77
408d82:	33 c0                	xor    %eax,%eax
408d84:	66 89 02             	mov    %ax,(%edx)
408d87:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408d8a:	85 c0                	test   %eax,%eax
408d8c:	0f 84 0e 29 01 00    	je     0x41b6a0
408d92:	50                   	push   %eax
408d93:	ff 15 98 a0 44 00    	call   *0x44a098
408d99:	83 f8 ff             	cmp    $0xffffffff,%eax
408d9c:	0f 84 09 29 01 00    	je     0x41b6ab
408da2:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
408da9:	74 1e                	je     0x408dc9
408dab:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
408dae:	85 c9                	test   %ecx,%ecx
408db0:	0f 84 1d 29 01 00    	je     0x41b6d3
408db6:	33 c0                	xor    %eax,%eax
408db8:	50                   	push   %eax
408db9:	8b 55 cc             	mov    -0x34(%ebp),%edx
408dbc:	e8 46 74 00 00       	call   0x410207
408dc1:	85 c0                	test   %eax,%eax
408dc3:	0f 84 83 28 01 00    	je     0x41b64c
408dc9:	8b b5 b4 fd ff ff    	mov    -0x24c(%ebp),%esi
408dcf:	83 fe 02             	cmp    $0x2,%esi
408dd2:	74 26                	je     0x408dfa
408dd4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408dd7:	85 c0                	test   %eax,%eax
408dd9:	0f 84 ff 28 01 00    	je     0x41b6de
408ddf:	50                   	push   %eax
408de0:	ff 15 98 a0 44 00    	call   *0x44a098
408de6:	83 f8 ff             	cmp    $0xffffffff,%eax
408de9:	0f 84 fa 28 01 00    	je     0x41b6e9
408def:	a9 10 04 00 00       	test   $0x410,%eax
408df4:	0f 84 05 29 01 00    	je     0x41b6ff
408dfa:	85 f6                	test   %esi,%esi
408dfc:	74 0b                	je     0x408e09
408dfe:	83 fe 01             	cmp    $0x1,%esi
408e01:	75 1c                	jne    0x408e1f
408e03:	66 3b 5d da          	cmp    -0x26(%ebp),%bx
408e07:	75 16                	jne    0x408e1f
408e09:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408e0c:	85 c0                	test   %eax,%eax
408e0e:	74 77                	je     0x408e87
408e10:	50                   	push   %eax
408e11:	ff 15 d8 a1 44 00    	call   *0x44a1d8
408e17:	85 c0                	test   %eax,%eax
408e19:	0f 84 fb 27 01 00    	je     0x41b61a
408e1f:	8b 55 c4             	mov    -0x3c(%ebp),%edx
408e22:	85 d2                	test   %edx,%edx
408e24:	74 69                	je     0x408e8f
408e26:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408e29:	e8 48 1b 00 00       	call   0x40a976
408e2e:	85 c0                	test   %eax,%eax
408e30:	0f 85 f1 28 01 00    	jne    0x41b727
408e36:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
408e3c:	85 c9                	test   %ecx,%ecx
408e3e:	74 57                	je     0x408e97
408e40:	33 c0                	xor    %eax,%eax
408e42:	50                   	push   %eax
408e43:	8b 15 00 8e 44 00    	mov    0x448e00,%edx
408e49:	e8 50 00 00 00       	call   0x408e9e
408e4e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408e55:	e8 25 00 00 00       	call   0x408e7f
408e5a:	8d 8d bc fd ff ff    	lea    -0x244(%ebp),%ecx
408e60:	e8 81 d3 00 00       	call   0x4161e6
408e65:	33 c0                	xor    %eax,%eax
408e67:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408e6a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408e71:	59                   	pop    %ecx
408e72:	5f                   	pop    %edi
408e73:	5e                   	pop    %esi
408e74:	5b                   	pop    %ebx
408e75:	c9                   	leave
408e76:	c3                   	ret
408e77:	8d 56 fe             	lea    -0x2(%esi),%edx
408e7a:	e9 dc fe ff ff       	jmp    0x408d5b
408e7f:	8b cf                	mov    %edi,%ecx
408e81:	e8 da 4d 00 00       	call   0x40dc60
408e86:	c3                   	ret
408e87:	8d 85 bc fd ff ff    	lea    -0x244(%ebp),%eax
408e8d:	eb 81                	jmp    0x408e10
408e8f:	8d 95 bc fd ff ff    	lea    -0x244(%ebp),%edx
408e95:	eb 8f                	jmp    0x408e26
408e97:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
408e9c:	eb a2                	jmp    0x408e40
408e9e:	8b ff                	mov    %edi,%edi
408ea0:	55                   	push   %ebp
408ea1:	8b ec                	mov    %esp,%ebp
408ea3:	83 e4 f8             	and    $0xfffffff8,%esp
408ea6:	83 ec 10             	sub    $0x10,%esp
408ea9:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
408eae:	33 c4                	xor    %esp,%eax
408eb0:	89 44 24 0c          	mov    %eax,0xc(%esp)
408eb4:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
408eb9:	56                   	push   %esi
408eba:	57                   	push   %edi
408ebb:	8b fa                	mov    %edx,%edi
408ebd:	8b f1                	mov    %ecx,%esi
408ebf:	75 1d                	jne    0x408ede
408ec1:	56                   	push   %esi
408ec2:	57                   	push   %edi
408ec3:	ff 15 c4 a1 44 00    	call   *0x44a1c4
408ec9:	33 c0                	xor    %eax,%eax
408ecb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
408ecf:	5f                   	pop    %edi
408ed0:	5e                   	pop    %esi
408ed1:	33 cc                	xor    %esp,%ecx
408ed3:	e8 58 dc 00 00       	call   0x416b30
408ed8:	8b e5                	mov    %ebp,%esp
408eda:	5d                   	pop    %ebp
408edb:	c2 04 00             	ret    $0x4
408ede:	6a 3d                	push   $0x3d
408ee0:	58                   	pop    %eax
408ee1:	ff 75 08             	push   0x8(%ebp)
408ee4:	66 89 44 24 10       	mov    %ax,0x10(%esp)
408ee9:	ff 15 18 a4 44 00    	call   *0x44a418
408eef:	59                   	pop    %ecx
408ef0:	66 89 44 24 0e       	mov    %ax,0xe(%esp)
408ef5:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
408ef9:	6a 3a                	push   $0x3a
408efb:	58                   	pop    %eax
408efc:	66 89 44 24 10       	mov    %ax,0x10(%esp)
408f01:	33 c0                	xor    %eax,%eax
408f03:	66 89 44 24 12       	mov    %ax,0x12(%esp)
408f08:	e8 21 5d 00 00       	call   0x40ec2e
408f0d:	85 c0                	test   %eax,%eax
408f0f:	0f 84 72 28 01 00    	je     0x41b787
408f15:	50                   	push   %eax
408f16:	8b d7                	mov    %edi,%edx
408f18:	8b ce                	mov    %esi,%ecx
408f1a:	e8 81 64 00 00       	call   0x40f3a0
408f1f:	eb a8                	jmp    0x408ec9
408f21:	8b ff                	mov    %edi,%edi
408f23:	55                   	push   %ebp
408f24:	8b ec                	mov    %esp,%ebp
408f26:	83 ec 14             	sub    $0x14,%esp
408f29:	53                   	push   %ebx
408f2a:	56                   	push   %esi
408f2b:	57                   	push   %edi
408f2c:	8b f9                	mov    %ecx,%edi
408f2e:	c7 45 f8 6c 20 40 00 	movl   $0x40206c,-0x8(%ebp)
408f35:	33 db                	xor    %ebx,%ebx
408f37:	89 1d a8 67 43 00    	mov    %ebx,0x4367a8
408f3d:	8b 0f                	mov    (%edi),%ecx
408f3f:	8b f1                	mov    %ecx,%esi
408f41:	8d 56 02             	lea    0x2(%esi),%edx
408f44:	66 8b 06             	mov    (%esi),%ax
408f47:	83 c6 02             	add    $0x2,%esi
408f4a:	66 3b c3             	cmp    %bx,%ax
408f4d:	75 f5                	jne    0x408f44
408f4f:	0f b7 01             	movzwl (%ecx),%eax
408f52:	2b f2                	sub    %edx,%esi
408f54:	d1 fe                	sar    $1,%esi
408f56:	8b d9                	mov    %ecx,%ebx
408f58:	89 75 f0             	mov    %esi,-0x10(%ebp)
408f5b:	8b d0                	mov    %eax,%edx
408f5d:	66 85 c0             	test   %ax,%ax
408f60:	74 11                	je     0x408f73
408f62:	33 d2                	xor    %edx,%edx
408f64:	8b c1                	mov    %ecx,%eax
408f66:	8b d9                	mov    %ecx,%ebx
408f68:	83 c1 02             	add    $0x2,%ecx
408f6b:	66 39 11             	cmp    %dx,(%ecx)
408f6e:	75 f4                	jne    0x408f64
408f70:	0f b7 10             	movzwl (%eax),%edx
408f73:	6a 3a                	push   $0x3a
408f75:	58                   	pop    %eax
408f76:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408f79:	89 45 ec             	mov    %eax,-0x14(%ebp)
408f7c:	66 3b d0             	cmp    %ax,%dx
408f7f:	0f 84 29 28 01 00    	je     0x41b7ae
408f85:	b9 50 02 00 00       	mov    $0x250,%ecx
408f8a:	e8 41 4d 00 00       	call   0x40dcd0
408f8f:	85 c0                	test   %eax,%eax
408f91:	0f 84 4f 29 01 00    	je     0x41b8e6
408f97:	89 47 18             	mov    %eax,0x18(%edi)
408f9a:	8b 45 fc             	mov    -0x4(%ebp),%eax
408f9d:	6a 5c                	push   $0x5c
408f9f:	5e                   	pop    %esi
408fa0:	89 75 f4             	mov    %esi,-0xc(%ebp)
408fa3:	0f b7 00             	movzwl (%eax),%eax
408fa6:	66 3b c6             	cmp    %si,%ax
408fa9:	0f 84 3a 01 00 00    	je     0x4090e9
408faf:	8b 0f                	mov    (%edi),%ecx
408fb1:	8b d6                	mov    %esi,%edx
408fb3:	e8 3d 72 00 00       	call   0x4101f5
408fb8:	8b f0                	mov    %eax,%esi
408fba:	85 f6                	test   %esi,%esi
408fbc:	0f 84 af 28 01 00    	je     0x41b871
408fc2:	83 c6 02             	add    $0x2,%esi
408fc5:	33 db                	xor    %ebx,%ebx
408fc7:	68 34 24 40 00       	push   $0x402434
408fcc:	56                   	push   %esi
408fcd:	ff 15 40 a4 44 00    	call   *0x44a440
408fd3:	59                   	pop    %ecx
408fd4:	59                   	pop    %ecx
408fd5:	85 c0                	test   %eax,%eax
408fd7:	0f 84 13 01 00 00    	je     0x4090f0
408fdd:	68 10 25 40 00       	push   $0x402510
408fe2:	56                   	push   %esi
408fe3:	ff 15 40 a4 44 00    	call   *0x44a440
408fe9:	59                   	pop    %ecx
408fea:	59                   	pop    %ecx
408feb:	85 c0                	test   %eax,%eax
408fed:	0f 84 fd 00 00 00    	je     0x4090f0
408ff3:	83 3d d8 e0 42 00 04 	cmpl   $0x4,0x42e0d8
408ffa:	0f 84 c4 00 00 00    	je     0x4090c4
409000:	ff 37                	push   (%edi)
409002:	ff 15 98 a0 44 00    	call   *0x44a098
409008:	8b d8                	mov    %eax,%ebx
40900a:	83 fb ff             	cmp    $0xffffffff,%ebx
40900d:	0f 85 9f 00 00 00    	jne    0x4090b2
409013:	ff 15 80 a0 44 00    	call   *0x44a080
409019:	a3 a8 67 43 00       	mov    %eax,0x4367a8
40901e:	83 fb ff             	cmp    $0xffffffff,%ebx
409021:	0f 85 92 00 00 00    	jne    0x4090b9
409027:	33 db                	xor    %ebx,%ebx
409029:	43                   	inc    %ebx
40902a:	33 c0                	xor    %eax,%eax
40902c:	8b f0                	mov    %eax,%esi
40902e:	8b 07                	mov    (%edi),%eax
409030:	8b d0                	mov    %eax,%edx
409032:	0f b7 0a             	movzwl (%edx),%ecx
409035:	66 85 c9             	test   %cx,%cx
409038:	74 1b                	je     0x409055
40903a:	66 3b 4d f4          	cmp    -0xc(%ebp),%cx
40903e:	74 11                	je     0x409051
409040:	66 3b 4d ec          	cmp    -0x14(%ebp),%cx
409044:	74 06                	je     0x40904c
409046:	83 c2 02             	add    $0x2,%edx
409049:	43                   	inc    %ebx
40904a:	eb e6                	jmp    0x409032
40904c:	83 fb 02             	cmp    $0x2,%ebx
40904f:	75 f5                	jne    0x409046
409051:	8b f2                	mov    %edx,%esi
409053:	eb f1                	jmp    0x409046
409055:	89 77 0c             	mov    %esi,0xc(%edi)
409058:	85 f6                	test   %esi,%esi
40905a:	0f 84 7f 28 01 00    	je     0x41b8df
409060:	33 c0                	xor    %eax,%eax
409062:	66 39 06             	cmp    %ax,(%esi)
409065:	0f 84 6d 28 01 00    	je     0x41b8d8
40906b:	8d 46 02             	lea    0x2(%esi),%eax
40906e:	6a 2a                	push   $0x2a
409070:	5a                   	pop    %edx
409071:	8b ce                	mov    %esi,%ecx
409073:	89 47 10             	mov    %eax,0x10(%edi)
409076:	e8 b4 15 00 00       	call   0x40a62f
40907b:	85 c0                	test   %eax,%eax
40907d:	74 23                	je     0x4090a2
40907f:	83 4f 1c 08          	orl    $0x8,0x1c(%edi)
409083:	c7 05 60 67 43 00 01 	movl   $0x1,0x436760
40908a:	00 00 00
40908d:	6a 2e                	push   $0x2e
40908f:	5a                   	pop    %edx
409090:	8b ce                	mov    %esi,%ecx
409092:	e8 98 15 00 00       	call   0x40a62f
409097:	89 47 14             	mov    %eax,0x14(%edi)
40909a:	33 c0                	xor    %eax,%eax
40909c:	5f                   	pop    %edi
40909d:	5e                   	pop    %esi
40909e:	40                   	inc    %eax
40909f:	5b                   	pop    %ebx
4090a0:	c9                   	leave
4090a1:	c3                   	ret
4090a2:	6a 3f                	push   $0x3f
4090a4:	5a                   	pop    %edx
4090a5:	8b ce                	mov    %esi,%ecx
4090a7:	e8 83 15 00 00       	call   0x40a62f
4090ac:	85 c0                	test   %eax,%eax
4090ae:	74 dd                	je     0x40908d
4090b0:	eb cd                	jmp    0x40907f
4090b2:	33 c0                	xor    %eax,%eax
4090b4:	e9 60 ff ff ff       	jmp    0x409019
4090b9:	f6 c3 10             	test   $0x10,%bl
4090bc:	0f 84 65 ff ff ff    	je     0x409027
4090c2:	eb 2c                	jmp    0x4090f0
4090c4:	83 3d 70 67 43 00 01 	cmpl   $0x1,0x436770
4090cb:	0f 84 2f ff ff ff    	je     0x409000
4090d1:	83 3d d4 e0 42 00 01 	cmpl   $0x1,0x42e0d4
4090d8:	0f 85 49 ff ff ff    	jne    0x409027
4090de:	89 1d d4 e0 42 00    	mov    %ebx,0x42e0d4
4090e4:	e9 17 ff ff ff       	jmp    0x409000
4090e9:	c7 45 f8 6e 20 40 00 	movl   $0x40206e,-0x8(%ebp)
4090f0:	8b 37                	mov    (%edi),%esi
4090f2:	8b ce                	mov    %esi,%ecx
4090f4:	6a 5c                	push   $0x5c
4090f6:	58                   	pop    %eax
4090f7:	8b d0                	mov    %eax,%edx
4090f9:	e8 f7 70 00 00       	call   0x4101f5
4090fe:	85 c0                	test   %eax,%eax
409100:	0f 84 a1 27 01 00    	je     0x41b8a7
409106:	8b 75 f0             	mov    -0x10(%ebp),%esi
409109:	8b 1f                	mov    (%edi),%ebx
40910b:	83 c6 05             	add    $0x5,%esi
40910e:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
409111:	e8 ba 4b 00 00       	call   0x40dcd0
409116:	85 c0                	test   %eax,%eax
409118:	0f 84 c8 27 01 00    	je     0x41b8e6
40911e:	53                   	push   %ebx
40911f:	8b d6                	mov    %esi,%edx
409121:	89 07                	mov    %eax,(%edi)
409123:	8b c8                	mov    %eax,%ecx
409125:	e8 76 62 00 00       	call   0x40f3a0
40912a:	ff 75 f8             	push   -0x8(%ebp)
40912d:	8b 0f                	mov    (%edi),%ecx
40912f:	8b d6                	mov    %esi,%edx
409131:	e8 0a 6b 00 00       	call   0x40fc40
409136:	8b 47 18             	mov    0x18(%edi),%eax
409139:	c7 00 10 00 00 00    	movl   $0x10,(%eax)
40913f:	e9 e3 fe ff ff       	jmp    0x409027
409144:	8b ff                	mov    %edi,%edi
409146:	55                   	push   %ebp
409147:	8b ec                	mov    %esp,%ebp
409149:	83 ec 2c             	sub    $0x2c,%esp
40914c:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
409151:	33 c5                	xor    %ebp,%eax
409153:	89 45 fc             	mov    %eax,-0x4(%ebp)
409156:	53                   	push   %ebx