505d00:	e8 bb ab fe ff       	call   0x4f08c0
505d05:	55                   	push   %ebp
505d06:	8b f0                	mov    %eax,%esi
505d08:	e8 c3 4e fd ff       	call   0x4dabd0
505d0d:	8b f8                	mov    %eax,%edi
505d0f:	55                   	push   %ebp
505d10:	2b fe                	sub    %esi,%edi
505d12:	e8 49 4c fd ff       	call   0x4da960
505d17:	83 c4 0c             	add    $0xc,%esp
505d1a:	8d 4f ff             	lea    -0x1(%edi),%ecx
505d1d:	24 07                	and    $0x7,%al
505d1f:	3c 01                	cmp    $0x1,%al
505d21:	8b 44 24 10          	mov    0x10(%esp),%eax
505d25:	0f 45 cf             	cmovne %edi,%ecx
505d28:	5f                   	pop    %edi
505d29:	5e                   	pop    %esi
505d2a:	3b c1                	cmp    %ecx,%eax
505d2c:	7e 26                	jle    0x505d54
505d2e:	68 35 03 00 00       	push   $0x335
505d33:	68 6c a8 62 00       	push   $0x62a86c
505d38:	68 96 00 00 00       	push   $0x96
505d3d:	68 a5 00 00 00       	push   $0xa5
505d42:	6a 04                	push   $0x4
505d44:	e8 37 32 fd ff       	call   0x4d8f80
505d49:	83 c4 14             	add    $0x14,%esp
505d4c:	5d                   	pop    %ebp
505d4d:	33 c0                	xor    %eax,%eax
505d4f:	5b                   	pop    %ebx
505d50:	83 c4 08             	add    $0x8,%esp
505d53:	c3                   	ret
505d54:	89 43 24             	mov    %eax,0x24(%ebx)
505d57:	8b 44 24 14          	mov    0x14(%esp),%eax
505d5b:	89 43 18             	mov    %eax,0x18(%ebx)
505d5e:	8b 44 24 0c          	mov    0xc(%esp),%eax
505d62:	89 43 1c             	mov    %eax,0x1c(%ebx)
505d65:	8b 44 24 08          	mov    0x8(%esp),%eax
505d69:	89 43 20             	mov    %eax,0x20(%ebx)
505d6c:	5d                   	pop    %ebp
505d6d:	b8 01 00 00 00       	mov    $0x1,%eax
505d72:	5b                   	pop    %ebx
505d73:	83 c4 08             	add    $0x8,%esp
505d76:	c3                   	ret
505d77:	cc                   	int3
505d78:	cc                   	int3
505d79:	cc                   	int3
505d7a:	cc                   	int3
505d7b:	cc                   	int3
505d7c:	cc                   	int3
505d7d:	cc                   	int3
505d7e:	cc                   	int3
505d7f:	cc                   	int3
505d80:	8b 44 24 04          	mov    0x4(%esp),%eax
505d84:	85 c0                	test   %eax,%eax
505d86:	0f 84 99 00 00 00    	je     0x505e25
505d8c:	50                   	push   %eax
505d8d:	e8 2e a3 fe ff       	call   0x4f00c0
505d92:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
505d96:	83 c4 04             	add    $0x4,%esp
505d99:	83 f9 03             	cmp    $0x3,%ecx
505d9c:	75 21                	jne    0x505dbf
505d9e:	68 68 01 00 00       	push   $0x168
505da3:	68 6c a8 62 00       	push   $0x62a86c
505da8:	68 8d 00 00 00       	push   $0x8d
505dad:	68 8c 00 00 00       	push   $0x8c
505db2:	6a 04                	push   $0x4
505db4:	e8 c7 31 fd ff       	call   0x4d8f80
505db9:	83 c4 14             	add    $0x14,%esp
505dbc:	33 c0                	xor    %eax,%eax
505dbe:	c3                   	ret
505dbf:	83 f9 05             	cmp    $0x5,%ecx
505dc2:	75 2f                	jne    0x505df3
505dc4:	50                   	push   %eax
505dc5:	e8 d6 ad ff ff       	call   0x500ba0
505dca:	83 c4 04             	add    $0x4,%esp
505dcd:	83 f8 ff             	cmp    $0xffffffff,%eax
505dd0:	75 53                	jne    0x505e25
505dd2:	68 6e 01 00 00       	push   $0x16e
505dd7:	68 6c a8 62 00       	push   $0x62a86c
505ddc:	68 8e 00 00 00       	push   $0x8e
505de1:	68 8c 00 00 00       	push   $0x8c
505de6:	6a 04                	push   $0x4
505de8:	e8 93 31 fd ff       	call   0x4d8f80
505ded:	83 c4 14             	add    $0x14,%esp
505df0:	33 c0                	xor    %eax,%eax
505df2:	c3                   	ret
505df3:	83 f8 75             	cmp    $0x75,%eax
505df6:	7f 18                	jg     0x505e10
505df8:	74 2b                	je     0x505e25
505dfa:	83 c0 fd             	add    $0xfffffffd,%eax
505dfd:	83 f8 6f             	cmp    $0x6f,%eax
505e00:	77 33                	ja     0x505e35
505e02:	0f b6 80 60 5e 50 00 	movzbl 0x505e60(%eax),%eax
505e09:	ff 24 85 58 5e 50 00 	jmp    *0x505e58(,%eax,4)
505e10:	3d a3 02 00 00       	cmp    $0x2a3,%eax
505e15:	7f 14                	jg     0x505e2b
505e17:	3d a0 02 00 00       	cmp    $0x2a0,%eax
505e1c:	7d 07                	jge    0x505e25
505e1e:	3d 01 01 00 00       	cmp    $0x101,%eax
505e23:	75 10                	jne    0x505e35
505e25:	b8 01 00 00 00       	mov    $0x1,%eax
505e2a:	c3                   	ret
505e2b:	05 b8 fb ff ff       	add    $0xfffffbb8,%eax
505e30:	83 f8 03             	cmp    $0x3,%eax
505e33:	76 f0                	jbe    0x505e25
505e35:	68 86 01 00 00       	push   $0x186
505e3a:	68 6c a8 62 00       	push   $0x62a86c
505e3f:	68 9d 00 00 00       	push   $0x9d
505e44:	68 8c 00 00 00       	push   $0x8c
505e49:	6a 04                	push   $0x4
505e4b:	e8 30 31 fd ff       	call   0x4d8f80
505e50:	83 c4 14             	add    $0x14,%esp
505e53:	33 c0                	xor    %eax,%eax
505e55:	c3                   	ret
505e56:	66 90                	xchg   %ax,%ax
505e58:	25 5e 50 00 35       	and    $0x3500505e,%eax
505e5d:	5e                   	pop    %esi
505e5e:	50                   	push   %eax
505e5f:	00 00                	add    %al,(%eax)
505e61:	00 01                	add    %al,(%ecx)
505e63:	01 01                	add    %eax,(%ecx)
505e65:	01 01                	add    %eax,(%ecx)
505e67:	01 01                	add    %eax,(%ecx)
505e69:	01 01                	add    %eax,(%ecx)
505e6b:	01 01                	add    %eax,(%ecx)
505e6d:	01 01                	add    %eax,(%ecx)
505e6f:	01 01                	add    %eax,(%ecx)
505e71:	01 01                	add    %eax,(%ecx)
505e73:	01 01                	add    %eax,(%ecx)
505e75:	01 01                	add    %eax,(%ecx)
505e77:	01 01                	add    %eax,(%ecx)
505e79:	01 01                	add    %eax,(%ecx)
505e7b:	01 01                	add    %eax,(%ecx)
505e7d:	01 01                	add    %eax,(%ecx)
505e7f:	01 01                	add    %eax,(%ecx)
505e81:	01 01                	add    %eax,(%ecx)
505e83:	01 01                	add    %eax,(%ecx)
505e85:	01 01                	add    %eax,(%ecx)
505e87:	01 01                	add    %eax,(%ecx)
505e89:	01 01                	add    %eax,(%ecx)
505e8b:	01 01                	add    %eax,(%ecx)
505e8d:	01 01                	add    %eax,(%ecx)
505e8f:	01 01                	add    %eax,(%ecx)
505e91:	01 01                	add    %eax,(%ecx)
505e93:	01 01                	add    %eax,(%ecx)
505e95:	01 01                	add    %eax,(%ecx)
505e97:	01 01                	add    %eax,(%ecx)
505e99:	01 01                	add    %eax,(%ecx)
505e9b:	01 01                	add    %eax,(%ecx)
505e9d:	00 01                	add    %al,(%ecx)
505e9f:	01 01                	add    %eax,(%ecx)
505ea1:	01 01                	add    %eax,(%ecx)
505ea3:	01 01                	add    %eax,(%ecx)
505ea5:	01 01                	add    %eax,(%ecx)
505ea7:	01 01                	add    %eax,(%ecx)
505ea9:	01 01                	add    %eax,(%ecx)
505eab:	01 01                	add    %eax,(%ecx)
505ead:	01 01                	add    %eax,(%ecx)
505eaf:	01 01                	add    %eax,(%ecx)
505eb1:	01 01                	add    %eax,(%ecx)
505eb3:	01 01                	add    %eax,(%ecx)
505eb5:	01 01                	add    %eax,(%ecx)
505eb7:	01 01                	add    %eax,(%ecx)
505eb9:	01 01                	add    %eax,(%ecx)
505ebb:	01 00                	add    %eax,(%eax)
505ebd:	01 01                	add    %eax,(%ecx)
505ebf:	01 01                	add    %eax,(%ecx)
505ec1:	01 01                	add    %eax,(%ecx)
505ec3:	01 01                	add    %eax,(%ecx)
505ec5:	01 01                	add    %eax,(%ecx)
505ec7:	01 01                	add    %eax,(%ecx)
505ec9:	01 01                	add    %eax,(%ecx)
505ecb:	01 01                	add    %eax,(%ecx)
505ecd:	01 01                	add    %eax,(%ecx)
505ecf:	00 56 8b             	add    %dl,-0x75(%esi)
505ed2:	74 24                	je     0x505ef8
505ed4:	08 83 7e 28 00 75    	or     %al,0x7500287e(%ebx)
505eda:	42                   	inc    %edx
505edb:	8b 44 24 0c          	mov    0xc(%esp),%eax
505edf:	6a 6a                	push   $0x6a
505ee1:	68 6c a8 62 00       	push   $0x62a86c
505ee6:	ff 70 08             	push   0x8(%eax)
505ee9:	e8 52 b5 fe ff       	call   0x4f1440
505eee:	83 c4 04             	add    $0x4,%esp
505ef1:	50                   	push   %eax
505ef2:	e8 59 a8 fd ff       	call   0x4e0750
505ef7:	83 c4 0c             	add    $0xc,%esp
505efa:	89 46 28             	mov    %eax,0x28(%esi)
505efd:	85 c0                	test   %eax,%eax
505eff:	75 1c                	jne    0x505f1d
505f01:	6a 6b                	push   $0x6b
505f03:	68 6c a8 62 00       	push   $0x62a86c
505f08:	6a 41                	push   $0x41
505f0a:	68 a7 00 00 00       	push   $0xa7
505f0f:	6a 04                	push   $0x4
505f11:	e8 6a 30 fd ff       	call   0x4d8f80
505f16:	83 c4 14             	add    $0x14,%esp
505f19:	33 c0                	xor    %eax,%eax
505f1b:	5e                   	pop    %esi
505f1c:	c3                   	ret
505f1d:	b8 01 00 00 00       	mov    $0x1,%eax
505f22:	5e                   	pop    %esi
505f23:	c3                   	ret
505f24:	cc                   	int3
505f25:	cc                   	int3
505f26:	cc                   	int3
505f27:	cc                   	int3
505f28:	cc                   	int3
505f29:	cc                   	int3
505f2a:	cc                   	int3
505f2b:	cc                   	int3
505f2c:	cc                   	int3
505f2d:	cc                   	int3
505f2e:	cc                   	int3
505f2f:	cc                   	int3
505f30:	6a 3c                	push   $0x3c
505f32:	68 04 aa 62 00       	push   $0x62aa04
505f37:	6a 30                	push   $0x30
505f39:	e8 02 ab fd ff       	call   0x4e0a40
505f3e:	8b c8                	mov    %eax,%ecx
505f40:	83 c4 0c             	add    $0xc,%esp
505f43:	85 c9                	test   %ecx,%ecx
505f45:	75 18                	jne    0x505f5f
505f47:	6a 3e                	push   $0x3e
505f49:	68 04 aa 62 00       	push   $0x62aa04
505f4e:	6a 41                	push   $0x41
505f50:	6a 6a                	push   $0x6a
505f52:	6a 34                	push   $0x34
505f54:	e8 27 30 fd ff       	call   0x4d8f80
505f59:	83 c4 14             	add    $0x14,%esp
505f5c:	33 c0                	xor    %eax,%eax
505f5e:	c3                   	ret
505f5f:	8b 44 24 04          	mov    0x4(%esp),%eax
505f63:	c7 41 10 00 00 10 00 	movl   $0x100000,0x10(%ecx)
505f6a:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
505f71:	c7 41 18 08 00 00 00 	movl   $0x8,0x18(%ecx)
505f78:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
505f7f:	c7 41 20 01 00 00 00 	movl   $0x1,0x20(%ecx)
505f86:	c7 41 24 00 00 00 00 	movl   $0x0,0x24(%ecx)
505f8d:	c7 41 28 00 00 10 40 	movl   $0x40100000,0x28(%ecx)
505f94:	c7 41 2c 00 00 00 00 	movl   $0x0,0x2c(%ecx)
505f9b:	89 48 14             	mov    %ecx,0x14(%eax)
505f9e:	b8 01 00 00 00       	mov    $0x1,%eax
505fa3:	c3                   	ret
505fa4:	cc                   	int3
505fa5:	cc                   	int3
505fa6:	cc                   	int3
505fa7:	cc                   	int3
505fa8:	cc                   	int3
505fa9:	cc                   	int3
505faa:	cc                   	int3
505fab:	cc                   	int3
505fac:	cc                   	int3
505fad:	cc                   	int3
505fae:	cc                   	int3
505faf:	cc                   	int3
505fb0:	8b 44 24 04          	mov    0x4(%esp),%eax
505fb4:	56                   	push   %esi
505fb5:	6a 54                	push   $0x54
505fb7:	68 04 aa 62 00       	push   $0x62aa04
505fbc:	8b 70 14             	mov    0x14(%eax),%esi
505fbf:	ff 76 0c             	push   0xc(%esi)
505fc2:	ff 76 08             	push   0x8(%esi)
505fc5:	e8 76 a8 fd ff       	call   0x4e0840
505fca:	6a 55                	push   $0x55
505fcc:	68 04 aa 62 00       	push   $0x62aa04
505fd1:	ff 76 04             	push   0x4(%esi)
505fd4:	ff 36                	push   (%esi)
505fd6:	e8 65 a8 fd ff       	call   0x4e0840
505fdb:	6a 56                	push   $0x56
505fdd:	68 04 aa 62 00       	push   $0x62aa04
505fe2:	56                   	push   %esi
505fe3:	e8 98 a7 fd ff       	call   0x4e0780
505fe8:	83 c4 2c             	add    $0x2c,%esp
505feb:	5e                   	pop    %esi
505fec:	c3                   	ret
505fed:	cc                   	int3
505fee:	cc                   	int3
505fef:	cc                   	int3
505ff0:	8b 44 24 04          	mov    0x4(%esp),%eax
505ff4:	56                   	push   %esi
505ff5:	57                   	push   %edi
505ff6:	8b 50 14             	mov    0x14(%eax),%edx
505ff9:	8b 44 24 10          	mov    0x10(%esp),%eax
505ffd:	05 f8 ef ff ff       	add    $0xffffeff8,%eax
506002:	83 f8 05             	cmp    $0x5,%eax
506005:	0f 87 d1 00 00 00    	ja     0x5060dc
50600b:	ff 24 85 e4 60 50 00 	jmp    *0x5060e4(,%eax,4)
506012:	ff 74 24 14          	push   0x14(%esp)
506016:	8d 42 04             	lea    0x4(%edx),%eax
506019:	ff 74 24 1c          	push   0x1c(%esp)
50601d:	50                   	push   %eax
50601e:	52                   	push   %edx
50601f:	e8 dc 06 00 00       	call   0x506700
506024:	83 c4 10             	add    $0x10,%esp
506027:	5f                   	pop    %edi
506028:	5e                   	pop    %esi
506029:	c3                   	ret
50602a:	ff 74 24 14          	push   0x14(%esp)
50602e:	8d 42 0c             	lea    0xc(%edx),%eax
506031:	ff 74 24 1c          	push   0x1c(%esp)
506035:	50                   	push   %eax
506036:	8d 42 08             	lea    0x8(%edx),%eax
506039:	50                   	push   %eax
50603a:	e8 c1 06 00 00       	call   0x506700
50603f:	83 c4 10             	add    $0x10,%esp
506042:	5f                   	pop    %edi
506043:	5e                   	pop    %esi
506044:	c3                   	ret
506045:	8b 44 24 18          	mov    0x18(%esp),%eax
506049:	8b 78 04             	mov    0x4(%eax),%edi
50604c:	8b 30                	mov    (%eax),%esi
50604e:	85 ff                	test   %edi,%edi
506050:	75 05                	jne    0x506057
506052:	83 fe 01             	cmp    $0x1,%esi
506055:	76 72                	jbe    0x5060c9
506057:	8b ce                	mov    %esi,%ecx
506059:	8b c7                	mov    %edi,%eax
50605b:	83 c1 ff             	add    $0xffffffff,%ecx
50605e:	83 d0 ff             	adc    $0xffffffff,%eax
506061:	23 ce                	and    %esi,%ecx
506063:	23 c7                	and    %edi,%eax
506065:	0b c8                	or     %eax,%ecx
506067:	75 60                	jne    0x5060c9
506069:	89 7a 14             	mov    %edi,0x14(%edx)
50606c:	8d 41 01             	lea    0x1(%ecx),%eax
50606f:	5f                   	pop    %edi
506070:	89 72 10             	mov    %esi,0x10(%edx)
506073:	5e                   	pop    %esi
506074:	c3                   	ret
506075:	8b 44 24 18          	mov    0x18(%esp),%eax
506079:	8b 08                	mov    (%eax),%ecx
50607b:	8b 40 04             	mov    0x4(%eax),%eax
50607e:	85 c0                	test   %eax,%eax
506080:	75 05                	jne    0x506087
506082:	83 f9 01             	cmp    $0x1,%ecx
506085:	72 42                	jb     0x5060c9
506087:	5f                   	pop    %edi
506088:	89 42 1c             	mov    %eax,0x1c(%edx)
50608b:	b8 01 00 00 00       	mov    $0x1,%eax
506090:	89 4a 18             	mov    %ecx,0x18(%edx)
506093:	5e                   	pop    %esi
506094:	c3                   	ret
506095:	8b 44 24 18          	mov    0x18(%esp),%eax
506099:	8b 08                	mov    (%eax),%ecx
50609b:	8b 40 04             	mov    0x4(%eax),%eax
50609e:	85 c0                	test   %eax,%eax
5060a0:	75 05                	jne    0x5060a7
5060a2:	83 f9 01             	cmp    $0x1,%ecx
5060a5:	72 22                	jb     0x5060c9
5060a7:	5f                   	pop    %edi