402cf2:	8a 16                	mov    (%esi),%dl
402cf4:	46                   	inc    %esi
402cf5:	00 d2                	add    %dl,%dl
402cf7:	fe c2                	inc    %dl
402cf9:	11 c0                	adc    %eax,%eax
402cfb:	00 d2                	add    %dl,%dl
402cfd:	75 12                	jne    0x402d11
402cff:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402d04:	0f 82 b3 01 00 00    	jb     0x402ebd
402d0a:	8a 16                	mov    (%esi),%dl
402d0c:	46                   	inc    %esi
402d0d:	00 d2                	add    %dl,%dl
402d0f:	fe c2                	inc    %dl
402d11:	11 c0                	adc    %eax,%eax
402d13:	74 15                	je     0x402d2a
402d15:	8b 5c 24 38          	mov    0x38(%esp),%ebx
402d19:	2b 1c 24             	sub    (%esp),%ebx
402d1c:	39 d8                	cmp    %ebx,%eax
402d1e:	0f 87 99 01 00 00    	ja     0x402ebd
402d24:	89 fb                	mov    %edi,%ebx
402d26:	29 c3                	sub    %eax,%ebx
402d28:	8a 03                	mov    (%ebx),%al
402d2a:	83 2c 24 01          	subl   $0x1,(%esp)
402d2e:	0f 82 89 01 00 00    	jb     0x402ebd
402d34:	88 07                	mov    %al,(%edi)
402d36:	47                   	inc    %edi
402d37:	bb 02 00 00 00       	mov    $0x2,%ebx
402d3c:	e9 20 ff ff ff       	jmp    0x402c61
402d41:	b8 01 00 00 00       	mov    $0x1,%eax
402d46:	00 d2                	add    %dl,%dl
402d48:	75 12                	jne    0x402d5c
402d4a:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402d4f:	0f 82 68 01 00 00    	jb     0x402ebd
402d55:	8a 16                	mov    (%esi),%dl
402d57:	46                   	inc    %esi
402d58:	00 d2                	add    %dl,%dl
402d5a:	fe c2                	inc    %dl
402d5c:	11 c0                	adc    %eax,%eax
402d5e:	0f 82 59 01 00 00    	jb     0x402ebd
402d64:	00 d2                	add    %dl,%dl
402d66:	75 12                	jne    0x402d7a
402d68:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402d6d:	0f 82 4a 01 00 00    	jb     0x402ebd
402d73:	8a 16                	mov    (%esi),%dl
402d75:	46                   	inc    %esi
402d76:	00 d2                	add    %dl,%dl
402d78:	fe c2                	inc    %dl
402d7a:	72 ca                	jb     0x402d46
402d7c:	29 d8                	sub    %ebx,%eax
402d7e:	bb 01 00 00 00       	mov    $0x1,%ebx
402d83:	75 63                	jne    0x402de8
402d85:	b9 01 00 00 00       	mov    $0x1,%ecx
402d8a:	00 d2                	add    %dl,%dl
402d8c:	75 12                	jne    0x402da0
402d8e:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402d93:	0f 82 24 01 00 00    	jb     0x402ebd
402d99:	8a 16                	mov    (%esi),%dl
402d9b:	46                   	inc    %esi
402d9c:	00 d2                	add    %dl,%dl
402d9e:	fe c2                	inc    %dl
402da0:	11 c9                	adc    %ecx,%ecx
402da2:	0f 82 15 01 00 00    	jb     0x402ebd
402da8:	00 d2                	add    %dl,%dl
402daa:	75 12                	jne    0x402dbe
402dac:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402db1:	0f 82 06 01 00 00    	jb     0x402ebd
402db7:	8a 16                	mov    (%esi),%dl
402db9:	46                   	inc    %esi
402dba:	00 d2                	add    %dl,%dl
402dbc:	fe c2                	inc    %dl
402dbe:	72 ca                	jb     0x402d8a
402dc0:	51                   	push   %ecx
402dc1:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
402dc5:	2b 4c 24 04          	sub    0x4(%esp),%ecx
402dc9:	39 cd                	cmp    %ecx,%ebp
402dcb:	59                   	pop    %ecx
402dcc:	0f 87 eb 00 00 00    	ja     0x402ebd
402dd2:	29 0c 24             	sub    %ecx,(%esp)
402dd5:	0f 82 e2 00 00 00    	jb     0x402ebd
402ddb:	56                   	push   %esi
402ddc:	89 fe                	mov    %edi,%esi
402dde:	29 ee                	sub    %ebp,%esi
402de0:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
402de2:	5e                   	pop    %esi
402de3:	e9 79 fe ff ff       	jmp    0x402c61
402de8:	48                   	dec    %eax
402de9:	a9 00 00 00 ff       	test   $0xff000000,%eax
402dee:	0f 85 c9 00 00 00    	jne    0x402ebd
402df4:	c1 e0 08             	shl    $0x8,%eax
402df7:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402dfc:	0f 82 bb 00 00 00    	jb     0x402ebd
402e02:	8a 06                	mov    (%esi),%al
402e04:	46                   	inc    %esi
402e05:	89 c5                	mov    %eax,%ebp
402e07:	b9 01 00 00 00       	mov    $0x1,%ecx
402e0c:	00 d2                	add    %dl,%dl
402e0e:	75 12                	jne    0x402e22
402e10:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402e15:	0f 82 a2 00 00 00    	jb     0x402ebd
402e1b:	8a 16                	mov    (%esi),%dl
402e1d:	46                   	inc    %esi
402e1e:	00 d2                	add    %dl,%dl
402e20:	fe c2                	inc    %dl
402e22:	11 c9                	adc    %ecx,%ecx
402e24:	0f 82 93 00 00 00    	jb     0x402ebd
402e2a:	00 d2                	add    %dl,%dl
402e2c:	75 12                	jne    0x402e40
402e2e:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402e33:	0f 82 84 00 00 00    	jb     0x402ebd
402e39:	8a 16                	mov    (%esi),%dl
402e3b:	46                   	inc    %esi
402e3c:	00 d2                	add    %dl,%dl
402e3e:	fe c2                	inc    %dl
402e40:	72 ca                	jb     0x402e0c
402e42:	3d 00 7d 00 00       	cmp    $0x7d00,%eax
402e47:	83 d9 ff             	sbb    $0xffffffff,%ecx
402e4a:	3d 00 05 00 00       	cmp    $0x500,%eax
402e4f:	83 d9 ff             	sbb    $0xffffffff,%ecx
402e52:	3d 80 00 00 00       	cmp    $0x80,%eax
402e57:	83 d1 00             	adc    $0x0,%ecx
402e5a:	3d 80 00 00 00       	cmp    $0x80,%eax
402e5f:	83 d1 00             	adc    $0x0,%ecx
402e62:	51                   	push   %ecx
402e63:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
402e67:	2b 4c 24 04          	sub    0x4(%esp),%ecx
402e6b:	39 c8                	cmp    %ecx,%eax
402e6d:	59                   	pop    %ecx
402e6e:	77 4d                	ja     0x402ebd
402e70:	29 0c 24             	sub    %ecx,(%esp)
402e73:	72 48                	jb     0x402ebd
402e75:	56                   	push   %esi
402e76:	89 fe                	mov    %edi,%esi
402e78:	29 c6                	sub    %eax,%esi
402e7a:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
402e7c:	5e                   	pop    %esi
402e7d:	e9 df fd ff ff       	jmp    0x402c61
402e82:	83 6c 24 04 01       	subl   $0x1,0x4(%esp)
402e87:	72 34                	jb     0x402ebd
402e89:	8a 06                	mov    (%esi),%al
402e8b:	46                   	inc    %esi
402e8c:	31 c9                	xor    %ecx,%ecx
402e8e:	c0 e8 01             	shr    $0x1,%al
402e91:	74 32                	je     0x402ec5
402e93:	83 d1 02             	adc    $0x2,%ecx
402e96:	89 c5                	mov    %eax,%ebp
402e98:	51                   	push   %ecx
402e99:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
402e9d:	2b 4c 24 04          	sub    0x4(%esp),%ecx
402ea1:	39 c8                	cmp    %ecx,%eax
402ea3:	59                   	pop    %ecx
402ea4:	77 17                	ja     0x402ebd
402ea6:	29 0c 24             	sub    %ecx,(%esp)
402ea9:	72 12                	jb     0x402ebd
402eab:	56                   	push   %esi
402eac:	89 fe                	mov    %edi,%esi
402eae:	29 c6                	sub    %eax,%esi
402eb0:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
402eb2:	5e                   	pop    %esi
402eb3:	bb 01 00 00 00       	mov    $0x1,%ebx
402eb8:	e9 a4 fd ff ff       	jmp    0x402c61
402ebd:	83 c4 08             	add    $0x8,%esp
402ec0:	61                   	popa
402ec1:	83 c8 ff             	or     $0xffffffff,%eax
402ec4:	c3                   	ret
402ec5:	83 c4 08             	add    $0x8,%esp
402ec8:	2b 7c 24 2c          	sub    0x2c(%esp),%edi
402ecc:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
402ed0:	61                   	popa
402ed1:	c3                   	ret
402ed2:	cc                   	int3
402ed3:	cc                   	int3
402ed4:	60                   	pusha
402ed5:	8b 74 24 24          	mov    0x24(%esp),%esi
402ed9:	8b 4c 24 28          	mov    0x28(%esp),%ecx
402edd:	bf a0 41 40 00       	mov    $0x4041a0,%edi
402ee2:	29 c0                	sub    %eax,%eax
402ee4:	85 f6                	test   %esi,%esi
402ee6:	0f 84 c0 00 00 00    	je     0x402fac
402eec:	83 e8 01             	sub    $0x1,%eax
402eef:	85 c9                	test   %ecx,%ecx
402ef1:	0f 84 b3 00 00 00    	je     0x402faa
402ef7:	f7 c6 03 00 00 00    	test   $0x3,%esi
402efd:	74 13                	je     0x402f12
402eff:	32 06                	xor    (%esi),%al
402f01:	46                   	inc    %esi
402f02:	bb ff 00 00 00       	mov    $0xff,%ebx
402f07:	21 c3                	and    %eax,%ebx
402f09:	c1 e8 08             	shr    $0x8,%eax
402f0c:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f0f:	49                   	dec    %ecx
402f10:	75 e5                	jne    0x402ef7
402f12:	89 ca                	mov    %ecx,%edx
402f14:	83 e2 07             	and    $0x7,%edx
402f17:	c1 e9 03             	shr    $0x3,%ecx
402f1a:	74 75                	je     0x402f91
402f1c:	33 06                	xor    (%esi),%eax
402f1e:	83 c6 04             	add    $0x4,%esi
402f21:	bb ff 00 00 00       	mov    $0xff,%ebx
402f26:	21 c3                	and    %eax,%ebx
402f28:	c1 e8 08             	shr    $0x8,%eax
402f2b:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f2e:	bb ff 00 00 00       	mov    $0xff,%ebx
402f33:	21 c3                	and    %eax,%ebx
402f35:	c1 e8 08             	shr    $0x8,%eax
402f38:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f3b:	bb ff 00 00 00       	mov    $0xff,%ebx
402f40:	21 c3                	and    %eax,%ebx
402f42:	c1 e8 08             	shr    $0x8,%eax
402f45:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f48:	bb ff 00 00 00       	mov    $0xff,%ebx
402f4d:	21 c3                	and    %eax,%ebx
402f4f:	c1 e8 08             	shr    $0x8,%eax
402f52:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f55:	33 06                	xor    (%esi),%eax
402f57:	83 c6 04             	add    $0x4,%esi
402f5a:	bb ff 00 00 00       	mov    $0xff,%ebx
402f5f:	21 c3                	and    %eax,%ebx
402f61:	c1 e8 08             	shr    $0x8,%eax
402f64:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f67:	bb ff 00 00 00       	mov    $0xff,%ebx
402f6c:	21 c3                	and    %eax,%ebx
402f6e:	c1 e8 08             	shr    $0x8,%eax
402f71:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f74:	bb ff 00 00 00       	mov    $0xff,%ebx
402f79:	21 c3                	and    %eax,%ebx
402f7b:	c1 e8 08             	shr    $0x8,%eax
402f7e:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f81:	bb ff 00 00 00       	mov    $0xff,%ebx
402f86:	21 c3                	and    %eax,%ebx
402f88:	c1 e8 08             	shr    $0x8,%eax
402f8b:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402f8e:	49                   	dec    %ecx
402f8f:	75 8b                	jne    0x402f1c
402f91:	89 d1                	mov    %edx,%ecx
402f93:	85 c9                	test   %ecx,%ecx
402f95:	74 13                	je     0x402faa
402f97:	32 06                	xor    (%esi),%al
402f99:	46                   	inc    %esi
402f9a:	bb ff 00 00 00       	mov    $0xff,%ebx
402f9f:	21 c3                	and    %eax,%ebx
402fa1:	c1 e8 08             	shr    $0x8,%eax
402fa4:	33 04 9f             	xor    (%edi,%ebx,4),%eax
402fa7:	49                   	dec    %ecx
402fa8:	75 ed                	jne    0x402f97
402faa:	f7 d0                	not    %eax
402fac:	89 44 24 1c          	mov    %eax,0x1c(%esp)
402fb0:	61                   	popa
402fb1:	c3                   	ret
402fb2:	ff 25 74 41 40 00    	jmp    *0x404174
402fb8:	68 0c 30 40 00       	push   $0x40300c
402fbd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402fc3:	50                   	push   %eax
402fc4:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
402fcb:	8b 44 24 10          	mov    0x10(%esp),%eax
402fcf:	89 6c 24 10          	mov    %ebp,0x10(%esp)
402fd3:	8d 6c 24 10          	lea    0x10(%esp),%ebp
402fd7:	2b e0                	sub    %eax,%esp
402fd9:	53                   	push   %ebx
402fda:	56                   	push   %esi
402fdb:	57                   	push   %edi
402fdc:	8b 45 f8             	mov    -0x8(%ebp),%eax
402fdf:	89 65 e8             	mov    %esp,-0x18(%ebp)
402fe2:	50                   	push   %eax
402fe3:	8b 45 fc             	mov    -0x4(%ebp),%eax
402fe6:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
402fed:	89 45 f8             	mov    %eax,-0x8(%ebp)
402ff0:	c3                   	ret
402ff1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402ff4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402ffb:	59                   	pop    %ecx
402ffc:	5f                   	pop    %edi
402ffd:	5e                   	pop    %esi
402ffe:	5b                   	pop    %ebx
402fff:	c9                   	leave
403000:	51                   	push   %ecx
403001:	c3                   	ret
403002:	cc                   	int3
403003:	cc                   	int3
403004:	56                   	push   %esi
403005:	43                   	inc    %ebx
403006:	32 30                	xor    (%eax),%dh
403008:	58                   	pop    %eax
403009:	43                   	inc    %ebx
40300a:	30 30                	xor    %dh,(%eax)
40300c:	55                   	push   %ebp
40300d:	8b ec                	mov    %esp,%ebp
40300f:	83 ec 08             	sub    $0x8,%esp
403012:	53                   	push   %ebx
403013:	56                   	push   %esi
403014:	57                   	push   %edi
403015:	55                   	push   %ebp
403016:	fc                   	cld
403017:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40301a:	8b 45 08             	mov    0x8(%ebp),%eax
40301d:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
403024:	75 77                	jne    0x40309d
403026:	89 45 f8             	mov    %eax,-0x8(%ebp)
403029:	8b 45 10             	mov    0x10(%ebp),%eax
40302c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40302f:	8d 45 f8             	lea    -0x8(%ebp),%eax
403032:	89 43 fc             	mov    %eax,-0x4(%ebx)
403035:	8b 73 0c             	mov    0xc(%ebx),%esi
403038:	8b 7b 08             	mov    0x8(%ebx),%edi
40303b:	83 fe ff             	cmp    $0xffffffff,%esi
40303e:	74 56                	je     0x403096
403040:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
403043:	83 7c 8f 04 00       	cmpl   $0x0,0x4(%edi,%ecx,4)
403048:	74 3a                	je     0x403084
40304a:	56                   	push   %esi
40304b:	55                   	push   %ebp
40304c:	8d 6b 10             	lea    0x10(%ebx),%ebp
40304f:	ff 54 8f 04          	call   *0x4(%edi,%ecx,4)
403053:	5d                   	pop    %ebp
403054:	5e                   	pop    %esi
403055:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403058:	0b c0                	or     %eax,%eax
40305a:	74 28                	je     0x403084
40305c:	78 31                	js     0x40308f
40305e:	8b 7b 08             	mov    0x8(%ebx),%edi
403061:	53                   	push   %ebx
403062:	e8 7d 00 00 00       	call   0x4030e4
403067:	83 c4 04             	add    $0x4,%esp
40306a:	8d 6b 10             	lea    0x10(%ebx),%ebp
40306d:	56                   	push   %esi
40306e:	53                   	push   %ebx
40306f:	e8 b2 00 00 00       	call   0x403126
403074:	83 c4 08             	add    $0x8,%esp
403077:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
40307a:	8b 04 8f             	mov    (%edi,%ecx,4),%eax
40307d:	89 43 0c             	mov    %eax,0xc(%ebx)
403080:	ff 54 8f 08          	call   *0x8(%edi,%ecx,4)
403084:	8b 7b 08             	mov    0x8(%ebx),%edi
403087:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
40308a:	8b 34 8f             	mov    (%edi,%ecx,4),%esi
40308d:	eb ac                	jmp    0x40303b
40308f:	b8 00 00 00 00       	mov    $0x0,%eax
403094:	eb 1c                	jmp    0x4030b2
403096:	b8 01 00 00 00       	mov    $0x1,%eax
40309b:	eb 15                	jmp    0x4030b2
40309d:	55                   	push   %ebp
40309e:	8d 6b 10             	lea    0x10(%ebx),%ebp
4030a1:	6a ff                	push   $0xffffffff
4030a3:	53                   	push   %ebx
4030a4:	e8 7d 00 00 00       	call   0x403126
4030a9:	83 c4 08             	add    $0x8,%esp
4030ac:	5d                   	pop    %ebp
4030ad:	b8 01 00 00 00       	mov    $0x1,%eax
4030b2:	5d                   	pop    %ebp
4030b3:	5f                   	pop    %edi
4030b4:	5e                   	pop    %esi