501fbc:	e8 9f 96 ff ff       	call   0x4fb660
501fc1:	83 c4 10             	add    $0x10,%esp
501fc4:	5b                   	pop    %ebx
501fc5:	5f                   	pop    %edi
501fc6:	5e                   	pop    %esi
501fc7:	5d                   	pop    %ebp
501fc8:	c3                   	ret
501fc9:	cc                   	int3
501fca:	cc                   	int3
501fcb:	cc                   	int3
501fcc:	cc                   	int3
501fcd:	cc                   	int3
501fce:	cc                   	int3
501fcf:	cc                   	int3
501fd0:	55                   	push   %ebp
501fd1:	8b ec                	mov    %esp,%ebp
501fd3:	53                   	push   %ebx
501fd4:	8b 5d 08             	mov    0x8(%ebp),%ebx
501fd7:	33 d2                	xor    %edx,%edx
501fd9:	56                   	push   %esi
501fda:	57                   	push   %edi
501fdb:	8b 73 0c             	mov    0xc(%ebx),%esi
501fde:	85 f6                	test   %esi,%esi
501fe0:	74 38                	je     0x50201a
501fe2:	8b 45 0c             	mov    0xc(%ebp),%eax
501fe5:	8b c8                	mov    %eax,%ecx
501fe7:	8a 00                	mov    (%eax),%al
501fe9:	84 c0                	test   %al,%al
501feb:	74 1e                	je     0x50200b
501fed:	0f 1f 00             	nopl   (%eax)
501ff0:	0f b6 c0             	movzbl %al,%eax
501ff3:	8d 49 01             	lea    0x1(%ecx),%ecx
501ff6:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
501ffd:	03 c2                	add    %edx,%eax
501fff:	69 d0 b1 79 37 9e    	imul   $0x9e3779b1,%eax,%edx
502005:	8a 01                	mov    (%ecx),%al
502007:	84 c0                	test   %al,%al
502009:	75 e5                	jne    0x501ff0
50200b:	8b c2                	mov    %edx,%eax
50200d:	33 d2                	xor    %edx,%edx
50200f:	f7 33                	divl   (%ebx)
502011:	8b 7c d6 04          	mov    0x4(%esi,%edx,8),%edi
502015:	8b 1c d6             	mov    (%esi,%edx,8),%ebx
502018:	eb 06                	jmp    0x502020
50201a:	8b 7b 08             	mov    0x8(%ebx),%edi
50201d:	8b 5b 04             	mov    0x4(%ebx),%ebx
502020:	8b 45 10             	mov    0x10(%ebp),%eax
502023:	85 c0                	test   %eax,%eax
502025:	74 02                	je     0x502029
502027:	89 10                	mov    %edx,(%eax)
502029:	85 db                	test   %ebx,%ebx
50202b:	74 44                	je     0x502071
50202d:	0f 1f 00             	nopl   (%eax)
502030:	8b 75 0c             	mov    0xc(%ebp),%esi
502033:	4b                   	dec    %ebx
502034:	8b 47 0c             	mov    0xc(%edi),%eax
502037:	2b f0                	sub    %eax,%esi
502039:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
502040:	0f b6 10             	movzbl (%eax),%edx
502043:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
502047:	3b d1                	cmp    %ecx,%edx
502049:	75 0b                	jne    0x502056
50204b:	85 d2                	test   %edx,%edx
50204d:	75 19                	jne    0x502068
50204f:	8b c7                	mov    %edi,%eax
502051:	5f                   	pop    %edi
502052:	5e                   	pop    %esi
502053:	5b                   	pop    %ebx
502054:	5d                   	pop    %ebp
502055:	c3                   	ret
502056:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
50205d:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
502064:	2b d1                	sub    %ecx,%edx
502066:	75 03                	jne    0x50206b
502068:	40                   	inc    %eax
502069:	eb d5                	jmp    0x502040
50206b:	8b 3f                	mov    (%edi),%edi
50206d:	85 db                	test   %ebx,%ebx
50206f:	75 bf                	jne    0x502030
502071:	5f                   	pop    %edi
502072:	5e                   	pop    %esi
502073:	b8 50 ff 72 00       	mov    $0x72ff50,%eax
502078:	5b                   	pop    %ebx
502079:	5d                   	pop    %ebp
50207a:	c3                   	ret
50207b:	cc                   	int3
50207c:	cc                   	int3
50207d:	cc                   	int3
50207e:	cc                   	int3
50207f:	cc                   	int3
502080:	55                   	push   %ebp
502081:	8b ec                	mov    %esp,%ebp
502083:	51                   	push   %ecx
502084:	8b 4d 14             	mov    0x14(%ebp),%ecx
502087:	8b 55 18             	mov    0x18(%ebp),%edx
50208a:	53                   	push   %ebx
50208b:	56                   	push   %esi
50208c:	8b 41 20             	mov    0x20(%ecx),%eax
50208f:	33 f6                	xor    %esi,%esi
502091:	57                   	push   %edi
502092:	8b 04 90             	mov    (%eax,%edx,4),%eax
502095:	89 45 fc             	mov    %eax,-0x4(%ebp)
502098:	8b 45 0c             	mov    0xc(%ebp),%eax
50209b:	39 30                	cmp    %esi,(%eax)
50209d:	0f 8e 94 00 00 00    	jle    0x502137
5020a3:	8d 78 04             	lea    0x4(%eax),%edi
5020a6:	8b 07                	mov    (%edi),%eax
5020a8:	85 c0                	test   %eax,%eax
5020aa:	74 29                	je     0x5020d5
5020ac:	0f 1f 40 00          	nopl   0x0(%eax)
5020b0:	8b 48 04             	mov    0x4(%eax),%ecx
5020b3:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
5020b9:	74 17                	je     0x5020d2
5020bb:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
5020c1:	74 08                	je     0x5020cb
5020c3:	8b 40 14             	mov    0x14(%eax),%eax
5020c6:	8b 40 04             	mov    0x4(%eax),%eax
5020c9:	eb 03                	jmp    0x5020ce
5020cb:	8b 40 0c             	mov    0xc(%eax),%eax
5020ce:	85 c0                	test   %eax,%eax
5020d0:	75 de                	jne    0x5020b0
5020d2:	8b 4d 14             	mov    0x14(%ebp),%ecx
5020d5:	80 38 a4             	cmpb   $0xa4,(%eax)
5020d8:	75 41                	jne    0x50211b
5020da:	8b 51 04             	mov    0x4(%ecx),%edx
5020dd:	8b 5d 18             	mov    0x18(%ebp),%ebx
5020e0:	66 8b 48 20          	mov    0x20(%eax),%cx
5020e4:	66 3b 0c 5a          	cmp    (%edx,%ebx,2),%cx
5020e8:	8b 1f                	mov    (%edi),%ebx
5020ea:	75 2f                	jne    0x50211b
5020ec:	8b 4d 10             	mov    0x10(%ebp),%ecx
5020ef:	39 48 1c             	cmp    %ecx,0x1c(%eax)
5020f2:	75 27                	jne    0x50211b
5020f4:	53                   	push   %ebx
5020f5:	8b 5d 08             	mov    0x8(%ebp),%ebx
5020f8:	53                   	push   %ebx
5020f9:	e8 e2 41 02 00       	call   0x5262e0
5020fe:	83 c4 08             	add    $0x8,%esp
502101:	85 c0                	test   %eax,%eax
502103:	75 05                	jne    0x50210a
502105:	8b 03                	mov    (%ebx),%eax
502107:	8b 40 08             	mov    0x8(%eax),%eax
50210a:	ff 75 fc             	push   -0x4(%ebp)
50210d:	ff 30                	push   (%eax)
50210f:	e8 1c bb 03 00       	call   0x53dc30
502114:	83 c4 08             	add    $0x8,%esp
502117:	85 c0                	test   %eax,%eax
502119:	74 13                	je     0x50212e
50211b:	8b 45 0c             	mov    0xc(%ebp),%eax
50211e:	46                   	inc    %esi
50211f:	83 c7 14             	add    $0x14,%edi
502122:	3b 30                	cmp    (%eax),%esi
502124:	7d 11                	jge    0x502137
502126:	8b 4d 14             	mov    0x14(%ebp),%ecx
502129:	e9 78 ff ff ff       	jmp    0x5020a6
50212e:	5f                   	pop    %edi
50212f:	8b c6                	mov    %esi,%eax
502131:	5e                   	pop    %esi
502132:	5b                   	pop    %ebx
502133:	8b e5                	mov    %ebp,%esp
502135:	5d                   	pop    %ebp
502136:	c3                   	ret
502137:	5f                   	pop    %edi
502138:	5e                   	pop    %esi
502139:	83 c8 ff             	or     $0xffffffff,%eax
50213c:	5b                   	pop    %ebx
50213d:	8b e5                	mov    %ebp,%esp
50213f:	5d                   	pop    %ebp
502140:	c3                   	ret
502141:	cc                   	int3
502142:	cc                   	int3
502143:	cc                   	int3
502144:	cc                   	int3
502145:	cc                   	int3
502146:	cc                   	int3
502147:	cc                   	int3
502148:	cc                   	int3
502149:	cc                   	int3
50214a:	cc                   	int3
50214b:	cc                   	int3
50214c:	cc                   	int3
50214d:	cc                   	int3
50214e:	cc                   	int3
50214f:	cc                   	int3
502150:	55                   	push   %ebp
502151:	8b ec                	mov    %esp,%ebp
502153:	8b 4d 08             	mov    0x8(%ebp),%ecx
502156:	8b 41 38             	mov    0x38(%ecx),%eax
502159:	85 c0                	test   %eax,%eax
50215b:	74 0c                	je     0x502169
50215d:	0f 1f 00             	nopl   (%eax)
502160:	8b c8                	mov    %eax,%ecx
502162:	8b 41 38             	mov    0x38(%ecx),%eax
502165:	85 c0                	test   %eax,%eax
502167:	75 f7                	jne    0x502160
502169:	8b c1                	mov    %ecx,%eax
50216b:	5d                   	pop    %ebp
50216c:	c3                   	ret
50216d:	cc                   	int3
50216e:	cc                   	int3
50216f:	cc                   	int3
502170:	55                   	push   %ebp
502171:	8b ec                	mov    %esp,%ebp
502173:	83 ec 44             	sub    $0x44,%esp
502176:	8b 55 10             	mov    0x10(%ebp),%edx
502179:	33 c9                	xor    %ecx,%ecx
50217b:	39 4d 14             	cmp    %ecx,0x14(%ebp)
50217e:	53                   	push   %ebx
50217f:	0f 95 c1             	setne  %cl
502182:	57                   	push   %edi
502183:	8b 7d 08             	mov    0x8(%ebp),%edi
502186:	0f b6 44 11 19       	movzbl 0x19(%ecx,%edx,1),%eax
50218b:	89 45 f0             	mov    %eax,-0x10(%ebp)
50218e:	8b 1f                	mov    (%edi),%ebx
502190:	83 f8 07             	cmp    $0x7,%eax
502193:	75 18                	jne    0x5021ad
502195:	8b 43 20             	mov    0x20(%ebx),%eax
502198:	25 00 00 08 00       	and    $0x80000,%eax
50219d:	83 c8 00             	or     $0x0,%eax
5021a0:	74 08                	je     0x5021aa
5021a2:	5f                   	pop    %edi
5021a3:	33 c0                	xor    %eax,%eax
5021a5:	5b                   	pop    %ebx
5021a6:	8b e5                	mov    %ebp,%esp
5021a8:	5d                   	pop    %ebp
5021a9:	c3                   	ret
5021aa:	8b 45 f0             	mov    -0x10(%ebp),%eax
5021ad:	83 c1 07             	add    $0x7,%ecx
5021b0:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
5021b3:	89 4d dc             	mov    %ecx,-0x24(%ebp)
5021b6:	56                   	push   %esi
5021b7:	8b 31                	mov    (%ecx),%esi
5021b9:	85 c0                	test   %eax,%eax
5021bb:	0f 84 44 05 00 00    	je     0x502705
5021c1:	85 f6                	test   %esi,%esi
5021c3:	0f 85 3c 05 00 00    	jne    0x502705
5021c9:	8d 45 ec             	lea    -0x14(%ebp),%eax
5021cc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5021cf:	50                   	push   %eax
5021d0:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5021d3:	89 75 ec             	mov    %esi,-0x14(%ebp)
5021d6:	50                   	push   %eax
5021d7:	8b f2                	mov    %edx,%esi
5021d9:	33 c9                	xor    %ecx,%ecx
5021db:	56                   	push   %esi
5021dc:	ff 75 0c             	push   0xc(%ebp)
5021df:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5021e2:	57                   	push   %edi
5021e3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5021e6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5021e9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5021ec:	e8 ef 7c 02 00       	call   0x529ee0
5021f1:	83 c4 14             	add    $0x14,%esp
5021f4:	85 c0                	test   %eax,%eax
5021f6:	0f 85 bd 04 00 00    	jne    0x5026b9
5021fc:	33 c9                	xor    %ecx,%ecx
5021fe:	89 4d e0             	mov    %ecx,-0x20(%ebp)
502201:	39 4e 14             	cmp    %ecx,0x14(%esi)
502204:	0f 8e 61 02 00 00    	jle    0x50246b
50220a:	c7 45 cc 20 8c 6b 00 	movl   $0x6b8c20,-0x34(%ebp)
502211:	c7 45 d0 03 00 00 00 	movl   $0x3,-0x30(%ebp)
502218:	c7 45 c4 1c 8c 6b 00 	movl   $0x6b8c1c,-0x3c(%ebp)
50221f:	c7 45 c8 03 00 00 00 	movl   $0x3,-0x38(%ebp)
502226:	8b 45 ec             	mov    -0x14(%ebp),%eax
502229:	85 c0                	test   %eax,%eax
50222b:	74 05                	je     0x502232
50222d:	8b 14 88             	mov    (%eax,%ecx,4),%edx
502230:	eb 03                	jmp    0x502235
502232:	8b 56 24             	mov    0x24(%esi),%edx
502235:	8b 45 e4             	mov    -0x1c(%ebp),%eax
502238:	85 c0                	test   %eax,%eax
50223a:	74 09                	je     0x502245
50223c:	8b 40 04             	mov    0x4(%eax),%eax
50223f:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
502243:	eb 07                	jmp    0x50224c
502245:	8b 45 0c             	mov    0xc(%ebp),%eax
502248:	0f b7 40 28          	movzwl 0x28(%eax),%eax
50224c:	98                   	cwtl
50224d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
502250:	8b 45 0c             	mov    0xc(%ebp),%eax
502253:	8b 40 04             	mov    0x4(%eax),%eax
502256:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
502259:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
50225c:	85 c9                	test   %ecx,%ecx
50225e:	74 12                	je     0x502272
502260:	8d 71 01             	lea    0x1(%ecx),%esi
502263:	8a 01                	mov    (%ecx),%al
502265:	41                   	inc    %ecx
502266:	84 c0                	test   %al,%al
502268:	75 f9                	jne    0x502263
50226a:	2b ce                	sub    %esi,%ecx
50226c:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
502272:	8b 45 10             	mov    0x10(%ebp),%eax
502275:	8d 34 92             	lea    (%edx,%edx,4),%esi
502278:	89 4d d8             	mov    %ecx,-0x28(%ebp)
50227b:	8b 00                	mov    (%eax),%eax
50227d:	8b 40 04             	mov    0x4(%eax),%eax
502280:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
502283:	89 4d bc             	mov    %ecx,-0x44(%ebp)
502286:	85 c9                	test   %ecx,%ecx
502288:	74 15                	je     0x50229f
50228a:	8d 51 01             	lea    0x1(%ecx),%edx
50228d:	0f 1f 00             	nopl   (%eax)
502290:	8a 01                	mov    (%ecx),%al
502292:	41                   	inc    %ecx
502293:	84 c0                	test   %al,%al
502295:	75 f9                	jne    0x502290
502297:	2b ca                	sub    %edx,%ecx
502299:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
50229f:	6a 00                	push   $0x0
5022a1:	8d 45 bc             	lea    -0x44(%ebp),%eax
5022a4:	89 4d c0             	mov    %ecx,-0x40(%ebp)
5022a7:	50                   	push   %eax
5022a8:	6a 3b                	push   $0x3b
5022aa:	53                   	push   %ebx
5022ab:	e8 c0 13 02 00       	call   0x523670
5022b0:	83 c4 10             	add    $0x10,%esp
5022b3:	50                   	push   %eax
5022b4:	6a 00                	push   $0x0
5022b6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5022b9:	50                   	push   %eax
5022ba:	6a 3b                	push   $0x3b
5022bc:	53                   	push   %ebx
5022bd:	e8 ae 13 02 00       	call   0x523670
5022c2:	83 c4 10             	add    $0x10,%esp
5022c5:	50                   	push   %eax
5022c6:	6a 00                	push   $0x0
5022c8:	8d 45 cc             	lea    -0x34(%ebp),%eax
5022cb:	50                   	push   %eax
5022cc:	6a 3b                	push   $0x3b
5022ce:	53                   	push   %ebx
5022cf:	e8 9c 13 02 00       	call   0x523670
5022d4:	83 c4 10             	add    $0x10,%esp
5022d7:	50                   	push   %eax
5022d8:	68 8b 00 00 00       	push   $0x8b
5022dd:	57                   	push   %edi
5022de:	e8 2d fd 02 00       	call   0x532010
5022e3:	83 c4 10             	add    $0x10,%esp
5022e6:	50                   	push   %eax
5022e7:	6a 35                	push   $0x35
5022e9:	57                   	push   %edi
5022ea:	e8 21 fd 02 00       	call   0x532010
5022ef:	50                   	push   %eax
5022f0:	ff 75 fc             	push   -0x4(%ebp)
5022f3:	57                   	push   %edi
5022f4:	e8 07 15 02 00       	call   0x523800
5022f9:	8b 4d 14             	mov    0x14(%ebp),%ecx
5022fc:	83 c4 1c             	add    $0x1c,%esp
5022ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
502302:	85 c9                	test   %ecx,%ecx