403e12:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
403e16:	50                   	push   %eax
403e17:	ff 75 14             	push   0x14(%ebp)
403e1a:	8d 45 b4             	lea    -0x4c(%ebp),%eax
403e1d:	ff 75 10             	push   0x10(%ebp)
403e20:	50                   	push   %eax
403e21:	53                   	push   %ebx
403e22:	e8 79 fc ff ff       	call   0x403aa0
403e27:	83 c4 18             	add    $0x18,%esp
403e2a:	8b 10                	mov    (%eax),%edx
403e2c:	8b 48 04             	mov    0x4(%eax),%ecx
403e2f:	8d 45 d8             	lea    -0x28(%ebp),%eax
403e32:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
403e36:	89 55 10             	mov    %edx,0x10(%ebp)
403e39:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
403e3d:	29 75 bc             	sub    %esi,-0x44(%ebp)
403e40:	03 c6                	add    %esi,%eax
403e42:	ff 75 bc             	push   -0x44(%ebp)
403e45:	89 4d 14             	mov    %ecx,0x14(%ebp)
403e48:	50                   	push   %eax
403e49:	51                   	push   %ecx
403e4a:	52                   	push   %edx
403e4b:	8d 45 b4             	lea    -0x4c(%ebp),%eax
403e4e:	50                   	push   %eax
403e4f:	53                   	push   %ebx
403e50:	e8 4b fc ff ff       	call   0x403aa0
403e55:	8b 55 a8             	mov    -0x58(%ebp),%edx
403e58:	8b 75 a4             	mov    -0x5c(%ebp),%esi
403e5b:	57                   	push   %edi
403e5c:	8b 08                	mov    (%eax),%ecx
403e5e:	8b 40 04             	mov    0x4(%eax),%eax
403e61:	ff 75 1c             	push   0x1c(%ebp)
403e64:	89 4d 10             	mov    %ecx,0x10(%ebp)
403e67:	50                   	push   %eax
403e68:	51                   	push   %ecx
403e69:	56                   	push   %esi
403e6a:	53                   	push   %ebx
403e6b:	89 45 14             	mov    %eax,0x14(%ebp)
403e6e:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
403e75:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
403e7c:	e8 af fb ff ff       	call   0x403a30
403e81:	8b 55 d4             	mov    -0x2c(%ebp),%edx
403e84:	83 c4 30             	add    $0x30,%esp
403e87:	83 fa 10             	cmp    $0x10,%edx
403e8a:	72 28                	jb     0x403eb4
403e8c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
403e8f:	42                   	inc    %edx
403e90:	8b c1                	mov    %ecx,%eax
403e92:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
403e98:	72 10                	jb     0x403eaa
403e9a:	8b 49 fc             	mov    -0x4(%ecx),%ecx
403e9d:	83 c2 23             	add    $0x23,%edx
403ea0:	2b c1                	sub    %ecx,%eax
403ea2:	83 c0 fc             	add    $0xfffffffc,%eax
403ea5:	83 f8 1f             	cmp    $0x1f,%eax
403ea8:	77 6f                	ja     0x403f19
403eaa:	52                   	push   %edx
403eab:	51                   	push   %ecx
403eac:	e8 9b 37 00 00       	call   0x40764c
403eb1:	83 c4 08             	add    $0x8,%esp
403eb4:	8b 55 ec             	mov    -0x14(%ebp),%edx
403eb7:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
403ebe:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
403ec5:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
403ec9:	83 fa 10             	cmp    $0x10,%edx
403ecc:	72 28                	jb     0x403ef6
403ece:	8b 4d d8             	mov    -0x28(%ebp),%ecx
403ed1:	42                   	inc    %edx
403ed2:	8b c1                	mov    %ecx,%eax
403ed4:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
403eda:	72 10                	jb     0x403eec
403edc:	8b 49 fc             	mov    -0x4(%ecx),%ecx
403edf:	83 c2 23             	add    $0x23,%edx
403ee2:	2b c1                	sub    %ecx,%eax
403ee4:	83 c0 fc             	add    $0xfffffffc,%eax
403ee7:	83 f8 1f             	cmp    $0x1f,%eax
403eea:	77 2d                	ja     0x403f19
403eec:	52                   	push   %edx
403eed:	51                   	push   %ecx
403eee:	e8 59 37 00 00       	call   0x40764c
403ef3:	83 c4 08             	add    $0x8,%esp
403ef6:	8b c6                	mov    %esi,%eax
403ef8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403efb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403f02:	59                   	pop    %ecx
403f03:	5f                   	pop    %edi
403f04:	5e                   	pop    %esi
403f05:	5b                   	pop    %ebx
403f06:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403f09:	33 cd                	xor    %ebp,%ecx
403f0b:	e8 fc 34 00 00       	call   0x40740c
403f10:	8b e5                	mov    %ebp,%esp
403f12:	5d                   	pop    %ebp
403f13:	c3                   	ret
403f14:	e8 87 08 00 00       	call   0x4047a0
403f19:	e8 73 91 00 00       	call   0x40d091
403f1e:	cc                   	int3
403f1f:	cc                   	int3
403f20:	55                   	push   %ebp
403f21:	8b ec                	mov    %esp,%ebp
403f23:	8b 45 14             	mov    0x14(%ebp),%eax
403f26:	56                   	push   %esi
403f27:	8b 75 0c             	mov    0xc(%ebp),%esi
403f2a:	57                   	push   %edi
403f2b:	c6 06 25             	movb   $0x25,(%esi)
403f2e:	8d 4e 01             	lea    0x1(%esi),%ecx
403f31:	a8 20                	test   $0x20,%al
403f33:	74 04                	je     0x403f39
403f35:	c6 01 2b             	movb   $0x2b,(%ecx)
403f38:	41                   	inc    %ecx
403f39:	a8 08                	test   $0x8,%al
403f3b:	74 04                	je     0x403f41
403f3d:	c6 01 23             	movb   $0x23,(%ecx)
403f40:	41                   	inc    %ecx
403f41:	8b 7d 10             	mov    0x10(%ebp),%edi
403f44:	8d 51 01             	lea    0x1(%ecx),%edx
403f47:	53                   	push   %ebx
403f48:	8a 1f                	mov    (%edi),%bl
403f4a:	80 fb 4c             	cmp    $0x4c,%bl
403f4d:	74 04                	je     0x403f53
403f4f:	88 19                	mov    %bl,(%ecx)
403f51:	eb 0b                	jmp    0x403f5e
403f53:	c6 01 49             	movb   $0x49,(%ecx)
403f56:	66 c7 02 36 34       	movw   $0x3436,(%edx)
403f5b:	83 c2 02             	add    $0x2,%edx
403f5e:	8b c8                	mov    %eax,%ecx
403f60:	81 e1 00 0e 00 00    	and    $0xe00,%ecx
403f66:	5b                   	pop    %ebx
403f67:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
403f6d:	75 0e                	jne    0x403f7d
403f6f:	b0 6f                	mov    $0x6f,%al
403f71:	88 02                	mov    %al,(%edx)
403f73:	8b c6                	mov    %esi,%eax
403f75:	5f                   	pop    %edi
403f76:	c6 42 01 00          	movb   $0x0,0x1(%edx)
403f7a:	5e                   	pop    %esi
403f7b:	5d                   	pop    %ebp
403f7c:	c3                   	ret
403f7d:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
403f83:	74 0f                	je     0x403f94
403f85:	8a 47 01             	mov    0x1(%edi),%al
403f88:	88 02                	mov    %al,(%edx)
403f8a:	8b c6                	mov    %esi,%eax
403f8c:	5f                   	pop    %edi
403f8d:	c6 42 01 00          	movb   $0x0,0x1(%edx)
403f91:	5e                   	pop    %esi
403f92:	5d                   	pop    %ebp
403f93:	c3                   	ret
403f94:	c0 e0 03             	shl    $0x3,%al
403f97:	f6 d0                	not    %al
403f99:	24 20                	and    $0x20,%al
403f9b:	0c 58                	or     $0x58,%al
403f9d:	88 02                	mov    %al,(%edx)
403f9f:	8b c6                	mov    %esi,%eax
403fa1:	5f                   	pop    %edi
403fa2:	c6 42 01 00          	movb   $0x0,0x1(%edx)
403fa6:	5e                   	pop    %esi
403fa7:	5d                   	pop    %ebp
403fa8:	c3                   	ret
403fa9:	cc                   	int3
403faa:	cc                   	int3
403fab:	cc                   	int3
403fac:	cc                   	int3
403fad:	cc                   	int3
403fae:	cc                   	int3
403faf:	cc                   	int3
403fb0:	55                   	push   %ebp
403fb1:	8b ec                	mov    %esp,%ebp
403fb3:	6a ff                	push   $0xffffffff
403fb5:	68 55 2c 42 00       	push   $0x422c55
403fba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403fc0:	50                   	push   %eax
403fc1:	83 ec 60             	sub    $0x60,%esp
403fc4:	a1 14 30 43 00       	mov    0x433014,%eax
403fc9:	33 c5                	xor    %ebp,%eax
403fcb:	89 45 f0             	mov    %eax,-0x10(%ebp)
403fce:	53                   	push   %ebx
403fcf:	56                   	push   %esi
403fd0:	57                   	push   %edi
403fd1:	50                   	push   %eax
403fd2:	8d 45 f4             	lea    -0xc(%ebp),%eax
403fd5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403fdb:	8b 5d 24             	mov    0x24(%ebp),%ebx
403fde:	8b 45 0c             	mov    0xc(%ebp),%eax
403fe1:	8b 4d 18             	mov    0x18(%ebp),%ecx
403fe4:	8b 7d 20             	mov    0x20(%ebp),%edi
403fe7:	89 45 94             	mov    %eax,-0x6c(%ebp)
403fea:	89 4d ac             	mov    %ecx,-0x54(%ebp)
403fed:	89 7d 9c             	mov    %edi,-0x64(%ebp)
403ff0:	85 db                	test   %ebx,%ebx
403ff2:	74 11                	je     0x404005
403ff4:	8a 07                	mov    (%edi),%al
403ff6:	3c 2b                	cmp    $0x2b,%al
403ff8:	74 04                	je     0x403ffe
403ffa:	3c 2d                	cmp    $0x2d,%al
403ffc:	75 07                	jne    0x404005
403ffe:	be 01 00 00 00       	mov    $0x1,%esi
404003:	eb 02                	jmp    0x404007
404005:	33 f6                	xor    %esi,%esi
404007:	8b 41 14             	mov    0x14(%ecx),%eax
40400a:	25 00 30 00 00       	and    $0x3000,%eax
40400f:	89 75 bc             	mov    %esi,-0x44(%ebp)
404012:	3d 00 30 00 00       	cmp    $0x3000,%eax
404017:	74 07                	je     0x404020
404019:	ba 20 fc 42 00       	mov    $0x42fc20,%edx
40401e:	eb 25                	jmp    0x404045
404020:	8d 46 02             	lea    0x2(%esi),%eax
404023:	ba 24 fc 42 00       	mov    $0x42fc24,%edx
404028:	3b c3                	cmp    %ebx,%eax
40402a:	77 19                	ja     0x404045
40402c:	80 3c 37 30          	cmpb   $0x30,(%edi,%esi,1)
404030:	75 13                	jne    0x404045
404032:	8a 4c 37 01          	mov    0x1(%edi,%esi,1),%cl
404036:	80 f9 78             	cmp    $0x78,%cl
404039:	74 05                	je     0x404040
40403b:	80 f9 58             	cmp    $0x58,%cl
40403e:	75 05                	jne    0x404045
404040:	8b f0                	mov    %eax,%esi
404042:	89 75 bc             	mov    %esi,-0x44(%ebp)
404045:	52                   	push   %edx
404046:	57                   	push   %edi
404047:	e8 64 77 00 00       	call   0x40b7b0
40404c:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40404f:	b8 2e 00 00 00       	mov    $0x2e,%eax
404054:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404058:	e8 8e 8b 00 00       	call   0x40cbeb
40405d:	8b 00                	mov    (%eax),%eax
40405f:	8a 00                	mov    (%eax),%al
404061:	88 45 b8             	mov    %al,-0x48(%ebp)
404064:	8d 45 b8             	lea    -0x48(%ebp),%eax
404067:	50                   	push   %eax
404068:	57                   	push   %edi
404069:	e8 42 77 00 00       	call   0x40b7b0
40406e:	8b f8                	mov    %eax,%edi
404070:	83 c4 10             	add    $0x10,%esp
404073:	8b 45 ac             	mov    -0x54(%ebp),%eax
404076:	8b 40 30             	mov    0x30(%eax),%eax
404079:	8b 48 04             	mov    0x4(%eax),%ecx
40407c:	89 4d a8             	mov    %ecx,-0x58(%ebp)
40407f:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
404082:	8b 01                	mov    (%ecx),%eax
404084:	ff 50 04             	call   *0x4(%eax)
404087:	8d 45 b0             	lea    -0x50(%ebp),%eax
40408a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
404091:	50                   	push   %eax
404092:	e8 19 07 00 00       	call   0x4047b0
404097:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40409e:	83 c4 04             	add    $0x4,%esp
4040a1:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4040a4:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4040a7:	85 c9                	test   %ecx,%ecx
4040a9:	74 11                	je     0x4040bc
4040ab:	8b 01                	mov    (%ecx),%eax
4040ad:	ff 50 08             	call   *0x8(%eax)
4040b0:	8b c8                	mov    %eax,%ecx
4040b2:	85 c9                	test   %ecx,%ecx
4040b4:	74 06                	je     0x4040bc
4040b6:	8b 01                	mov    (%ecx),%eax
4040b8:	6a 01                	push   $0x1
4040ba:	ff 10                	call   *(%eax)
4040bc:	6a 00                	push   $0x0
4040be:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4040c5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4040c8:	53                   	push   %ebx
4040c9:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4040d0:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4040d7:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4040db:	e8 90 05 00 00       	call   0x404670
4040e0:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4040e7:	8d 45 d8             	lea    -0x28(%ebp),%eax
4040ea:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4040ee:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
4040f1:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4040f5:	8b 55 b4             	mov    -0x4c(%ebp),%edx
4040f8:	50                   	push   %eax
4040f9:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
4040fc:	50                   	push   %eax
4040fd:	8b 12                	mov    (%edx),%edx
4040ff:	51                   	push   %ecx
404100:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
404103:	ff 52 1c             	call   *0x1c(%edx)
404106:	8b 4d ac             	mov    -0x54(%ebp),%ecx
404109:	8b 41 30             	mov    0x30(%ecx),%eax
40410c:	8b 48 04             	mov    0x4(%eax),%ecx
40410f:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
404112:	8b 01                	mov    (%ecx),%eax
404114:	ff 50 04             	call   *0x4(%eax)
404117:	8d 45 98             	lea    -0x68(%ebp),%eax
40411a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40411e:	50                   	push   %eax
40411f:	e8 8c 0b 00 00       	call   0x404cb0
404124:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404128:	83 c4 04             	add    $0x4,%esp
40412b:	8b 55 9c             	mov    -0x64(%ebp),%edx
40412e:	8b c8                	mov    %eax,%ecx
404130:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
404133:	85 d2                	test   %edx,%edx
404135:	74 16                	je     0x40414d
404137:	8b 02                	mov    (%edx),%eax
404139:	8b ca                	mov    %edx,%ecx
40413b:	ff 50 08             	call   *0x8(%eax)
40413e:	8b c8                	mov    %eax,%ecx
404140:	85 c9                	test   %ecx,%ecx
404142:	74 06                	je     0x40414a
404144:	8b 01                	mov    (%ecx),%eax
404146:	6a 01                	push   $0x1
404148:	ff 10                	call   *(%eax)
40414a:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
40414d:	8b 01                	mov    (%ecx),%eax
40414f:	8d 55 c0             	lea    -0x40(%ebp),%edx
404152:	52                   	push   %edx
404153:	ff 50 14             	call   *0x14(%eax)
404156:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40415a:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
40415d:	8b 01                	mov    (%ecx),%eax
40415f:	8b 40 10             	mov    0x10(%eax),%eax
404162:	ff d0                	call   *%eax
404164:	88 45 a8             	mov    %al,-0x58(%ebp)
404167:	3b fb                	cmp    %ebx,%edi
404169:	74 1c                	je     0x404187
40416b:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
40416e:	8b 01                	mov    (%ecx),%eax
404170:	8b 40 0c             	mov    0xc(%eax),%eax
404173:	ff d0                	call   *%eax
404175:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
404179:	8a c8                	mov    %al,%cl
40417b:	8d 45 d8             	lea    -0x28(%ebp),%eax
40417e:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
404182:	3b fb                	cmp    %ebx,%edi
404184:	88 0c 38             	mov    %cl,(%eax,%edi,1)
404187:	0f 44 7d a4          	cmove  -0x5c(%ebp),%edi
40418b:	8d 5d c0             	lea    -0x40(%ebp),%ebx
40418e:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
404192:	0f 43 5d c0          	cmovae -0x40(%ebp),%ebx
404196:	8a 03                	mov    (%ebx),%al
404198:	3c 7f                	cmp    $0x7f,%al
40419a:	0f 84 8f 00 00 00    	je     0x40422f
4041a0:	84 c0                	test   %al,%al
4041a2:	0f 8e 87 00 00 00    	jle    0x40422f
4041a8:	0f be c8             	movsbl %al,%ecx
4041ab:	8b c7                	mov    %edi,%eax
4041ad:	2b c6                	sub    %esi,%eax
4041af:	3b c8                	cmp    %eax,%ecx
4041b1:	73 7c                	jae    0x40422f
4041b3:	2b f9                	sub    %ecx,%edi
4041b5:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4041b8:	3b cf                	cmp    %edi,%ecx
4041ba:	0f 82 34 02 00 00    	jb     0x4043f4
4041c0:	8b 55 ec             	mov    -0x14(%ebp),%edx
4041c3:	8b c2                	mov    %edx,%eax