403d70:	50                   	push   %eax
403d71:	53                   	push   %ebx
403d72:	68 43 01 00 00       	push   $0x143
403d77:	57                   	push   %edi
403d78:	ff 15 10 33 43 00    	call   *0x433310
403d7e:	83 f8 ff             	cmp    $0xffffffff,%eax
403d81:	74 39                	je     0x403dbc
403d83:	8b 0d ac 16 41 00    	mov    0x4116ac,%ecx
403d89:	ff 34 b1             	push   (%ecx,%esi,4)
403d8c:	50                   	push   %eax
403d8d:	68 51 01 00 00       	push   $0x151
403d92:	eb 21                	jmp    0x403db5
403d94:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
403d9a:	51                   	push   %ecx
403d9b:	50                   	push   %eax
403d9c:	ff 35 0c 19 41 00    	push   0x41190c
403da2:	ff 15 20 33 43 00    	call   *0x433320
403da8:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
403dae:	50                   	push   %eax
403daf:	53                   	push   %ebx
403db0:	68 43 01 00 00       	push   $0x143
403db5:	57                   	push   %edi
403db6:	ff 15 10 33 43 00    	call   *0x433310
403dbc:	46                   	inc    %esi
403dbd:	3b 35 a8 16 41 00    	cmp    0x4116a8,%esi
403dc3:	0f 8c 75 ff ff ff    	jl     0x403d3e
403dc9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403dcc:	33 c0                	xor    %eax,%eax
403dce:	5f                   	pop    %edi
403dcf:	5e                   	pop    %esi
403dd0:	33 cd                	xor    %ebp,%ecx
403dd2:	40                   	inc    %eax
403dd3:	5b                   	pop    %ebx
403dd4:	e8 57 c6 00 00       	call   0x410430
403dd9:	c9                   	leave
403dda:	c3                   	ret
403ddb:	6a 00                	push   $0x0
403ddd:	6a 00                	push   $0x0
403ddf:	68 47 01 00 00       	push   $0x147
403de4:	51                   	push   %ecx
403de5:	ff 15 10 33 43 00    	call   *0x433310
403deb:	8b c8                	mov    %eax,%ecx
403ded:	83 f9 ff             	cmp    $0xffffffff,%ecx
403df0:	75 03                	jne    0x403df5
403df2:	33 c0                	xor    %eax,%eax
403df4:	c3                   	ret
403df5:	a1 ac 16 41 00       	mov    0x4116ac,%eax
403dfa:	8b 04 88             	mov    (%eax,%ecx,4),%eax
403dfd:	a3 a4 16 41 00       	mov    %eax,0x4116a4
403e02:	c3                   	ret
403e03:	8b ff                	mov    %edi,%edi
403e05:	55                   	push   %ebp
403e06:	8b ec                	mov    %esp,%ebp
403e08:	51                   	push   %ecx
403e09:	53                   	push   %ebx
403e0a:	56                   	push   %esi
403e0b:	57                   	push   %edi
403e0c:	68 82 00 00 00       	push   $0x82
403e11:	52                   	push   %edx
403e12:	8b d9                	mov    %ecx,%ebx
403e14:	ff 15 14 33 43 00    	call   *0x433314
403e1a:	33 f6                	xor    %esi,%esi
403e1c:	89 45 fc             	mov    %eax,-0x4(%ebp)
403e1f:	33 ff                	xor    %edi,%edi
403e21:	39 35 a8 16 41 00    	cmp    %esi,0x4116a8
403e27:	7e 2e                	jle    0x403e57
403e29:	8b 0d ac 16 41 00    	mov    0x4116ac,%ecx
403e2f:	39 1c b1             	cmp    %ebx,(%ecx,%esi,4)
403e32:	75 1a                	jne    0x403e4e
403e34:	6a 00                	push   $0x0
403e36:	56                   	push   %esi
403e37:	68 4e 01 00 00       	push   $0x14e
403e3c:	50                   	push   %eax
403e3d:	ff 15 10 33 43 00    	call   *0x433310
403e43:	83 f8 ff             	cmp    $0xffffffff,%eax
403e46:	8b 45 fc             	mov    -0x4(%ebp),%eax
403e49:	74 03                	je     0x403e4e
403e4b:	33 ff                	xor    %edi,%edi
403e4d:	47                   	inc    %edi
403e4e:	46                   	inc    %esi
403e4f:	3b 35 a8 16 41 00    	cmp    0x4116a8,%esi
403e55:	7c d2                	jl     0x403e29
403e57:	8b c7                	mov    %edi,%eax
403e59:	5f                   	pop    %edi
403e5a:	5e                   	pop    %esi
403e5b:	5b                   	pop    %ebx
403e5c:	c9                   	leave
403e5d:	c2 04 00             	ret    $0x4
403e60:	a1 b0 16 41 00       	mov    0x4116b0,%eax
403e65:	85 c0                	test   %eax,%eax
403e67:	74 08                	je     0x403e71
403e69:	50                   	push   %eax
403e6a:	ff 15 d4 33 43 00    	call   *0x4333d4
403e70:	59                   	pop    %ecx
403e71:	83 25 b0 16 41 00 00 	andl   $0x0,0x4116b0
403e78:	33 c0                	xor    %eax,%eax
403e7a:	40                   	inc    %eax
403e7b:	c3                   	ret
403e7c:	8b ff                	mov    %edi,%edi
403e7e:	55                   	push   %ebp
403e7f:	8b ec                	mov    %esp,%ebp
403e81:	53                   	push   %ebx
403e82:	56                   	push   %esi
403e83:	57                   	push   %edi
403e84:	85 d2                	test   %edx,%edx
403e86:	74 36                	je     0x403ebe
403e88:	8b 75 08             	mov    0x8(%ebp),%esi
403e8b:	33 ff                	xor    %edi,%edi
403e8d:	8d 04 3e             	lea    (%esi,%edi,1),%eax
403e90:	d1 e8                	shr    $1,%eax
403e92:	0f b7 1c 82          	movzwl (%edx,%eax,4),%ebx
403e96:	66 3b d9             	cmp    %cx,%bx
403e99:	77 11                	ja     0x403eac
403e9b:	66 3b 4c 82 02       	cmp    0x2(%edx,%eax,4),%cx
403ea0:	76 25                	jbe    0x403ec7
403ea2:	66 3b d9             	cmp    %cx,%bx
403ea5:	73 05                	jae    0x403eac
403ea7:	8d 78 01             	lea    0x1(%eax),%edi
403eaa:	eb 0e                	jmp    0x403eba
403eac:	85 f6                	test   %esi,%esi
403eae:	74 0e                	je     0x403ebe
403eb0:	48                   	dec    %eax
403eb1:	8d 70 01             	lea    0x1(%eax),%esi
403eb4:	f7 de                	neg    %esi
403eb6:	1b f6                	sbb    %esi,%esi
403eb8:	23 f0                	and    %eax,%esi
403eba:	3b fe                	cmp    %esi,%edi
403ebc:	76 cf                	jbe    0x403e8d
403ebe:	33 c0                	xor    %eax,%eax
403ec0:	5f                   	pop    %edi
403ec1:	5e                   	pop    %esi
403ec2:	5b                   	pop    %ebx
403ec3:	5d                   	pop    %ebp
403ec4:	c2 04 00             	ret    $0x4
403ec7:	33 c0                	xor    %eax,%eax
403ec9:	40                   	inc    %eax
403eca:	eb f4                	jmp    0x403ec0
403ecc:	8b ff                	mov    %edi,%edi
403ece:	55                   	push   %ebp
403ecf:	8b ec                	mov    %esp,%ebp
403ed1:	83 ec 0c             	sub    $0xc,%esp
403ed4:	53                   	push   %ebx
403ed5:	56                   	push   %esi
403ed6:	57                   	push   %edi
403ed7:	8b da                	mov    %edx,%ebx
403ed9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
403edc:	e8 7f ff ff ff       	call   0x403e60
403ee1:	85 db                	test   %ebx,%ebx
403ee3:	0f 84 4d 01 00 00    	je     0x404036
403ee9:	33 f6                	xor    %esi,%esi
403eeb:	89 35 44 26 43 00    	mov    %esi,0x432644
403ef1:	85 db                	test   %ebx,%ebx
403ef3:	0f 88 3d 01 00 00    	js     0x404036
403ef9:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
403eff:	0f 84 31 01 00 00    	je     0x404036
403f05:	8d 43 01             	lea    0x1(%ebx),%eax
403f08:	3b c3                	cmp    %ebx,%eax
403f0a:	0f 8c 26 01 00 00    	jl     0x404036
403f10:	50                   	push   %eax
403f11:	6a 02                	push   $0x2
403f13:	ff 15 f0 33 43 00    	call   *0x4333f0
403f19:	8b f8                	mov    %eax,%edi
403f1b:	89 3d b0 16 41 00    	mov    %edi,0x4116b0
403f21:	59                   	pop    %ecx
403f22:	59                   	pop    %ecx
403f23:	85 ff                	test   %edi,%edi
403f25:	0f 84 0b 01 00 00    	je     0x404036
403f2b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403f2e:	89 1d 44 26 43 00    	mov    %ebx,0x432644
403f34:	85 c9                	test   %ecx,%ecx
403f36:	0f 84 f6 00 00 00    	je     0x404032
403f3c:	39 75 08             	cmp    %esi,0x8(%ebp)
403f3f:	0f 84 ed 00 00 00    	je     0x404032
403f45:	39 75 10             	cmp    %esi,0x10(%ebp)
403f48:	75 3e                	jne    0x403f88
403f4a:	8b c6                	mov    %esi,%eax
403f4c:	89 45 fc             	mov    %eax,-0x4(%ebp)
403f4f:	85 db                	test   %ebx,%ebx
403f51:	7e 2a                	jle    0x403f7d
403f53:	3b c3                	cmp    %ebx,%eax
403f55:	7d 26                	jge    0x403f7d
403f57:	ff 75 0c             	push   0xc(%ebp)
403f5a:	0f b7 0c 71          	movzwl (%ecx,%esi,2),%ecx
403f5e:	8b 55 08             	mov    0x8(%ebp),%edx
403f61:	e8 16 ff ff ff       	call   0x403e7c
403f66:	85 c0                	test   %eax,%eax
403f68:	8b 45 fc             	mov    -0x4(%ebp),%eax
403f6b:	74 08                	je     0x403f75
403f6d:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
403f71:	40                   	inc    %eax
403f72:	89 45 fc             	mov    %eax,-0x4(%ebp)
403f75:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403f78:	46                   	inc    %esi
403f79:	3b f3                	cmp    %ebx,%esi
403f7b:	7c d6                	jl     0x403f53
403f7d:	33 c9                	xor    %ecx,%ecx
403f7f:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
403f83:	e9 aa 00 00 00       	jmp    0x404032
403f88:	8b d6                	mov    %esi,%edx
403f8a:	89 55 fc             	mov    %edx,-0x4(%ebp)
403f8d:	85 db                	test   %ebx,%ebx
403f8f:	0f 8e 9d 00 00 00    	jle    0x404032
403f95:	6a 20                	push   $0x20
403f97:	58                   	pop    %eax
403f98:	0f b7 0c 71          	movzwl (%ecx,%esi,2),%ecx
403f9c:	66 3b c8             	cmp    %ax,%cx
403f9f:	74 1c                	je     0x403fbd
403fa1:	ff 75 0c             	push   0xc(%ebp)
403fa4:	8b 55 08             	mov    0x8(%ebp),%edx
403fa7:	e8 d0 fe ff ff       	call   0x403e7c
403fac:	8b 55 fc             	mov    -0x4(%ebp),%edx
403faf:	85 c0                	test   %eax,%eax
403fb1:	74 0a                	je     0x403fbd
403fb3:	66 89 0c 57          	mov    %cx,(%edi,%edx,2)
403fb7:	42                   	inc    %edx
403fb8:	89 55 fc             	mov    %edx,-0x4(%ebp)
403fbb:	eb 66                	jmp    0x404023
403fbd:	e8 8c 2c 00 00       	call   0x406c4e
403fc2:	85 c0                	test   %eax,%eax
403fc4:	74 5d                	je     0x404023
403fc6:	6a 20                	push   $0x20
403fc8:	58                   	pop    %eax
403fc9:	66 3b c8             	cmp    %ax,%cx
403fcc:	75 58                	jne    0x404026
403fce:	8b 0d b0 10 41 00    	mov    0x4110b0,%ecx
403fd4:	8b c2                	mov    %edx,%eax
403fd6:	99                   	cltd
403fd7:	f7 f9                	idiv   %ecx
403fd9:	85 d2                	test   %edx,%edx
403fdb:	74 43                	je     0x404020
403fdd:	8b c1                	mov    %ecx,%eax
403fdf:	2b c2                	sub    %edx,%eax
403fe1:	8b 55 fc             	mov    -0x4(%ebp),%edx
403fe4:	89 45 f4             	mov    %eax,-0xc(%ebp)
403fe7:	74 1f                	je     0x404008
403fe9:	8b c8                	mov    %eax,%ecx
403feb:	8d 3c 57             	lea    (%edi,%edx,2),%edi
403fee:	d1 e9                	shr    $1,%ecx
403ff0:	b8 20 00 20 00       	mov    $0x200020,%eax
403ff5:	f3 ab                	rep stos %eax,%es:(%edi)
403ff7:	13 c9                	adc    %ecx,%ecx
403ff9:	03 55 f4             	add    -0xc(%ebp),%edx
403ffc:	66 f3 ab             	rep stos %ax,%es:(%edi)
403fff:	8b 3d b0 16 41 00    	mov    0x4116b0,%edi
404005:	89 55 fc             	mov    %edx,-0x4(%ebp)
404008:	6a 20                	push   $0x20
40400a:	58                   	pop    %eax
40400b:	3b f3                	cmp    %ebx,%esi
40400d:	7d 0e                	jge    0x40401d
40400f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
404012:	66 39 04 71          	cmp    %ax,(%ecx,%esi,2)
404016:	75 05                	jne    0x40401d
404018:	46                   	inc    %esi
404019:	3b f3                	cmp    %ebx,%esi
40401b:	7c f5                	jl     0x404012
40401d:	4e                   	dec    %esi
40401e:	eb 06                	jmp    0x404026
404020:	8b 55 fc             	mov    -0x4(%ebp),%edx
404023:	6a 20                	push   $0x20
404025:	58                   	pop    %eax
404026:	8b 4d f8             	mov    -0x8(%ebp),%ecx
404029:	46                   	inc    %esi
40402a:	3b f3                	cmp    %ebx,%esi
40402c:	0f 8c 66 ff ff ff    	jl     0x403f98
404032:	8b c7                	mov    %edi,%eax
404034:	eb 02                	jmp    0x404038
404036:	33 c0                	xor    %eax,%eax
404038:	5f                   	pop    %edi
404039:	5e                   	pop    %esi
40403a:	5b                   	pop    %ebx
40403b:	c9                   	leave
40403c:	c2 10 00             	ret    $0x10
40403f:	8b ff                	mov    %edi,%edi
404041:	55                   	push   %ebp
404042:	8b ec                	mov    %esp,%ebp
404044:	51                   	push   %ecx
404045:	53                   	push   %ebx
404046:	56                   	push   %esi
404047:	57                   	push   %edi
404048:	8b da                	mov    %edx,%ebx
40404a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40404d:	e8 0e fe ff ff       	call   0x403e60
404052:	85 db                	test   %ebx,%ebx
404054:	0f 84 a6 00 00 00    	je     0x404100
40405a:	bf fe ff 00 00       	mov    $0xfffe,%edi
40405f:	33 f6                	xor    %esi,%esi
404061:	2b 7d 14             	sub    0x14(%ebp),%edi
404064:	89 35 44 26 43 00    	mov    %esi,0x432644
40406a:	3b df                	cmp    %edi,%ebx
40406c:	7d 02                	jge    0x404070
40406e:	8b fb                	mov    %ebx,%edi
404070:	8d 47 01             	lea    0x1(%edi),%eax
404073:	50                   	push   %eax
404074:	6a 02                	push   $0x2
404076:	ff 15 f0 33 43 00    	call   *0x4333f0
40407c:	59                   	pop    %ecx
40407d:	59                   	pop    %ecx
40407e:	8b c8                	mov    %eax,%ecx
404080:	89 0d b0 16 41 00    	mov    %ecx,0x4116b0
404086:	85 c9                	test   %ecx,%ecx
404088:	74 76                	je     0x404100
40408a:	8b 55 fc             	mov    -0x4(%ebp),%edx
40408d:	89 3d 44 26 43 00    	mov    %edi,0x432644
404093:	85 d2                	test   %edx,%edx
404095:	74 65                	je     0x4040fc
404097:	39 75 08             	cmp    %esi,0x8(%ebp)
40409a:	74 60                	je     0x4040fc
40409c:	85 db                	test   %ebx,%ebx
40409e:	7e 5c                	jle    0x4040fc
4040a0:	0f b7 04 72          	movzwl (%edx,%esi,2),%eax
4040a4:	3b 45 14             	cmp    0x14(%ebp),%eax
4040a7:	7d 05                	jge    0x4040ae
4040a9:	46                   	inc    %esi
4040aa:	3b f3                	cmp    %ebx,%esi
4040ac:	7c f2                	jl     0x4040a0
4040ae:	3b f3                	cmp    %ebx,%esi
4040b0:	7d 4a                	jge    0x4040fc
4040b2:	8b f9                	mov    %ecx,%edi
4040b4:	0f b7 0c 72          	movzwl (%edx,%esi,2),%ecx
4040b8:	b8 fd ff 00 00       	mov    $0xfffd,%eax
4040bd:	66 3b c8             	cmp    %ax,%cx
4040c0:	77 34                	ja     0x4040f6
4040c2:	ff 75 0c             	push   0xc(%ebp)
4040c5:	8b 55 08             	mov    0x8(%ebp),%edx
4040c8:	e8 af fd ff ff       	call   0x403e7c
4040cd:	85 c0                	test   %eax,%eax
4040cf:	74 05                	je     0x4040d6
4040d1:	66 89 0f             	mov    %cx,(%edi)
4040d4:	eb 15                	jmp    0x4040eb
4040d6:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4040da:	74 12                	je     0x4040ee
4040dc:	e8 6d 2b 00 00       	call   0x406c4e
4040e1:	85 c0                	test   %eax,%eax
4040e3:	74 09                	je     0x4040ee
4040e5:	6a 20                	push   $0x20
4040e7:	58                   	pop    %eax
4040e8:	66 89 07             	mov    %ax,(%edi)
4040eb:	83 c7 02             	add    $0x2,%edi
4040ee:	8b 55 fc             	mov    -0x4(%ebp),%edx
4040f1:	46                   	inc    %esi
4040f2:	3b f3                	cmp    %ebx,%esi
4040f4:	7c be                	jl     0x4040b4
4040f6:	8b 0d b0 16 41 00    	mov    0x4116b0,%ecx
4040fc:	8b c1                	mov    %ecx,%eax
4040fe:	eb 02                	jmp    0x404102
404100:	33 c0                	xor    %eax,%eax
404102:	5f                   	pop    %edi
404103:	5e                   	pop    %esi
404104:	5b                   	pop    %ebx
404105:	c9                   	leave