4848be:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
4848c4:	83 c4 0c             	add    $0xc,%esp
4848c7:	85 c0                	test   %eax,%eax
4848c9:	74 05                	je     0x4848d0
4848cb:	43                   	inc    %ebx
4848cc:	33 c9                	xor    %ecx,%ecx
4848ce:	eb 0d                	jmp    0x4848dd
4848d0:	33 c9                	xor    %ecx,%ecx
4848d2:	8b c1                	mov    %ecx,%eax
4848d4:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
4848da:	eb 07                	jmp    0x4848e3
4848dc:	43                   	inc    %ebx
4848dd:	8b 85 3c fe ff ff    	mov    -0x1c4(%ebp),%eax
4848e3:	46                   	inc    %esi
4848e4:	83 c2 10             	add    $0x10,%edx
4848e7:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
4848ed:	83 fe 05             	cmp    $0x5,%esi
4848f0:	0f 8e 5e ff ff ff    	jle    0x484854
4848f6:	85 c0                	test   %eax,%eax
4848f8:	75 08                	jne    0x484902
4848fa:	85 db                	test   %ebx,%ebx
4848fc:	75 04                	jne    0x484902
4848fe:	8b c1                	mov    %ecx,%eax
484900:	eb 07                	jmp    0x484909
484902:	57                   	push   %edi
484903:	e8 97 fb ff ff       	call   0x48449f
484908:	59                   	pop    %ecx
484909:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48490c:	5f                   	pop    %edi
48490d:	5e                   	pop    %esi
48490e:	33 cd                	xor    %ebp,%ecx
484910:	5b                   	pop    %ebx
484911:	e8 b4 50 fe ff       	call   0x4699ca
484916:	c9                   	leave
484917:	c3                   	ret
484918:	e8 d1 56 fe ff       	call   0x469fee
48491d:	33 c0                	xor    %eax,%eax
48491f:	50                   	push   %eax
484920:	50                   	push   %eax
484921:	50                   	push   %eax
484922:	50                   	push   %eax
484923:	50                   	push   %eax
484924:	e8 25 4d ff ff       	call   0x47964e
484929:	cc                   	int3
48492a:	8b ff                	mov    %edi,%edi
48492c:	55                   	push   %ebp
48492d:	8b ec                	mov    %esp,%ebp
48492f:	81 ec e8 02 00 00    	sub    $0x2e8,%esp
484935:	a1 14 40 4c 00       	mov    0x4c4014,%eax
48493a:	33 c5                	xor    %ebp,%eax
48493c:	89 45 fc             	mov    %eax,-0x4(%ebp)
48493f:	53                   	push   %ebx
484940:	8b 5d 0c             	mov    0xc(%ebp),%ebx
484943:	56                   	push   %esi
484944:	8b 75 10             	mov    0x10(%ebp),%esi
484947:	57                   	push   %edi
484948:	8b 7d 08             	mov    0x8(%ebp),%edi
48494b:	89 9d 20 fd ff ff    	mov    %ebx,-0x2e0(%ebp)
484951:	e8 63 21 00 00       	call   0x486ab9
484956:	05 78 02 00 00       	add    $0x278,%eax
48495b:	89 85 24 fd ff ff    	mov    %eax,-0x2dc(%ebp)
484961:	8d 85 3c fd ff ff    	lea    -0x2c4(%ebp),%eax
484967:	50                   	push   %eax
484968:	6a 55                	push   $0x55
48496a:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
484970:	50                   	push   %eax
484971:	68 83 00 00 00       	push   $0x83
484976:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
48497c:	50                   	push   %eax
48497d:	56                   	push   %esi
48497e:	e8 92 f6 ff ff       	call   0x484015
484983:	83 c4 18             	add    $0x18,%esp
484986:	85 c0                	test   %eax,%eax
484988:	0f 84 cb 02 00 00    	je     0x484c59
48498e:	8d 73 02             	lea    0x2(%ebx),%esi
484991:	c7 85 34 fd ff ff 04 	movl   $0x4,-0x2cc(%ebp)
484998:	00 00 00
48499b:	c1 e6 04             	shl    $0x4,%esi
48499e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4849a4:	89 b5 38 fd ff ff    	mov    %esi,-0x2c8(%ebp)
4849aa:	8b 14 3e             	mov    (%esi,%edi,1),%edx
4849ad:	8b ca                	mov    %edx,%ecx
4849af:	66 8b 30             	mov    (%eax),%si
4849b2:	83 a5 44 fd ff ff 00 	andl   $0x0,-0x2bc(%ebp)
4849b9:	66 3b 31             	cmp    (%ecx),%si
4849bc:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
4849c2:	75 35                	jne    0x4849f9
4849c4:	66 83 38 00          	cmpw   $0x0,(%eax)
4849c8:	74 27                	je     0x4849f1
4849ca:	66 8b 70 02          	mov    0x2(%eax),%si
4849ce:	66 3b 71 02          	cmp    0x2(%ecx),%si
4849d2:	66 89 b5 42 fd ff ff 	mov    %si,-0x2be(%ebp)
4849d9:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
4849df:	75 18                	jne    0x4849f9
4849e1:	83 c0 04             	add    $0x4,%eax
4849e4:	83 c1 04             	add    $0x4,%ecx
4849e7:	66 83 bd 42 fd ff ff 	cmpw   $0x0,-0x2be(%ebp)
4849ee:	00
4849ef:	75 be                	jne    0x4849af
4849f1:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
4849f7:	eb 05                	jmp    0x4849fe
4849f9:	1b c0                	sbb    %eax,%eax
4849fb:	83 c8 01             	or     $0x1,%eax
4849fe:	85 c0                	test   %eax,%eax
484a00:	75 07                	jne    0x484a09
484a02:	8b c2                	mov    %edx,%eax
484a04:	e9 52 02 00 00       	jmp    0x484c5b
484a09:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
484a0f:	8d 51 02             	lea    0x2(%ecx),%edx
484a12:	66 8b 01             	mov    (%ecx),%ax
484a15:	83 c1 02             	add    $0x2,%ecx
484a18:	66 3b 85 44 fd ff ff 	cmp    -0x2bc(%ebp),%ax
484a1f:	75 f1                	jne    0x484a12
484a21:	2b ca                	sub    %edx,%ecx
484a23:	d1 f9                	sar    $1,%ecx
484a25:	8d 41 01             	lea    0x1(%ecx),%eax
484a28:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
484a2e:	8d 04 45 04 00 00 00 	lea    0x4(,%eax,2),%eax
484a35:	50                   	push   %eax
484a36:	e8 f7 0d 00 00       	call   0x485832
484a3b:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
484a41:	59                   	pop    %ecx
484a42:	85 c0                	test   %eax,%eax
484a44:	0f 84 0f 02 00 00    	je     0x484c59
484a4a:	8b 0c 3e             	mov    (%esi,%edi,1),%ecx
484a4d:	83 c0 04             	add    $0x4,%eax
484a50:	89 8d 30 fd ff ff    	mov    %ecx,-0x2d0(%ebp)
484a56:	8b 8c 9f a0 00 00 00 	mov    0xa0(%edi,%ebx,4),%ecx
484a5d:	89 8d 1c fd ff ff    	mov    %ecx,-0x2e4(%ebp)
484a63:	8b 4f 08             	mov    0x8(%edi),%ecx
484a66:	89 8d 18 fd ff ff    	mov    %ecx,-0x2e8(%ebp)
484a6c:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
484a72:	51                   	push   %ecx
484a73:	ff b5 40 fd ff ff    	push   -0x2c0(%ebp)
484a79:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
484a7f:	50                   	push   %eax
484a80:	e8 18 4c ff ff       	call   0x47969d
484a85:	83 c4 0c             	add    $0xc,%esp
484a88:	85 c0                	test   %eax,%eax
484a8a:	0f 85 49 02 00 00    	jne    0x484cd9
484a90:	66 83 bd f4 fe ff ff 	cmpw   $0x43,-0x10c(%ebp)
484a97:	43
484a98:	8b 85 28 fd ff ff    	mov    -0x2d8(%ebp),%eax
484a9e:	89 04 3e             	mov    %eax,(%esi,%edi,1)
484aa1:	75 12                	jne    0x484ab5
484aa3:	66 83 bd f6 fe ff ff 	cmpw   $0x0,-0x10a(%ebp)
484aaa:	00
484aab:	75 08                	jne    0x484ab5
484aad:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
484ab3:	eb 0d                	jmp    0x484ac2
484ab5:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
484abb:	50                   	push   %eax
484abc:	e8 7f f2 ff ff       	call   0x483d40
484ac1:	59                   	pop    %ecx
484ac2:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
484ac9:	83 fb 02             	cmp    $0x2,%ebx
484acc:	0f 85 11 01 00 00    	jne    0x484be3
484ad2:	8b b5 24 fd ff ff    	mov    -0x2dc(%ebp),%esi
484ad8:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
484ade:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
484ae4:	89 47 08             	mov    %eax,0x8(%edi)
484ae7:	8b 46 20             	mov    0x20(%esi),%eax
484aea:	8b 4e 24             	mov    0x24(%esi),%ecx
484aed:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
484af3:	89 8d 3c fd ff ff    	mov    %ecx,-0x2c4(%ebp)
484af9:	8b 47 08             	mov    0x8(%edi),%eax
484afc:	3b 04 d6             	cmp    (%esi,%edx,8),%eax
484aff:	74 34                	je     0x484b35
484b01:	8b 04 d6             	mov    (%esi,%edx,8),%eax
484b04:	8b 9d 40 fd ff ff    	mov    -0x2c0(%ebp),%ebx
484b0a:	8b 4c d6 04          	mov    0x4(%esi,%edx,8),%ecx
484b0e:	89 1c d6             	mov    %ebx,(%esi,%edx,8)
484b11:	8b 9d 3c fd ff ff    	mov    -0x2c4(%ebp),%ebx
484b17:	89 5c d6 04          	mov    %ebx,0x4(%esi,%edx,8)
484b1b:	42                   	inc    %edx
484b1c:	8b 9d 20 fd ff ff    	mov    -0x2e0(%ebp),%ebx
484b22:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
484b28:	89 8d 3c fd ff ff    	mov    %ecx,-0x2c4(%ebp)
484b2e:	83 fa 05             	cmp    $0x5,%edx
484b31:	7c c6                	jl     0x484af9
484b33:	eb 23                	jmp    0x484b58
484b35:	85 d2                	test   %edx,%edx
484b37:	74 1f                	je     0x484b58
484b39:	8b 04 d6             	mov    (%esi,%edx,8),%eax
484b3c:	8b 4c d6 04          	mov    0x4(%esi,%edx,8),%ecx
484b40:	89 06                	mov    %eax,(%esi)
484b42:	8b 85 40 fd ff ff    	mov    -0x2c0(%ebp),%eax
484b48:	89 4e 04             	mov    %ecx,0x4(%esi)
484b4b:	89 04 d6             	mov    %eax,(%esi,%edx,8)
484b4e:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
484b54:	89 44 d6 04          	mov    %eax,0x4(%esi,%edx,8)
484b58:	83 fa 05             	cmp    $0x5,%edx
484b5b:	75 7c                	jne    0x484bd9
484b5d:	6a 01                	push   $0x1
484b5f:	ff 77 08             	push   0x8(%edi)
484b62:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
484b68:	50                   	push   %eax
484b69:	6a 7f                	push   $0x7f
484b6b:	68 38 31 4a 00       	push   $0x4a3138
484b70:	6a 01                	push   $0x1
484b72:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
484b78:	e8 a2 88 00 00       	call   0x48d41f
484b7d:	83 c4 1c             	add    $0x1c,%esp
484b80:	85 c0                	test   %eax,%eax
484b82:	74 3c                	je     0x484bc0
484b84:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
484b8a:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
484b8f:	66 21 8c 45 f4 fd ff 	and    %cx,-0x20c(%ebp,%eax,2)
484b96:	ff
484b97:	40                   	inc    %eax
484b98:	83 f8 7f             	cmp    $0x7f,%eax
484b9b:	72 ed                	jb     0x484b8a
484b9d:	68 fe 00 00 00       	push   $0xfe
484ba2:	ff 35 c4 41 4c 00    	push   0x4c41c4
484ba8:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
484bae:	50                   	push   %eax
484baf:	e8 0c 72 fe ff       	call   0x46bdc0
484bb4:	33 d2                	xor    %edx,%edx
484bb6:	83 c4 0c             	add    $0xc,%esp
484bb9:	85 c0                	test   %eax,%eax
484bbb:	0f 94 c2             	sete   %dl
484bbe:	eb 06                	jmp    0x484bc6
484bc0:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
484bc6:	8b 8d 34 fd ff ff    	mov    -0x2cc(%ebp),%ecx
484bcc:	8b c6                	mov    %esi,%eax
484bce:	03 c8                	add    %eax,%ecx
484bd0:	89 11                	mov    %edx,(%ecx)
484bd2:	8b 47 08             	mov    0x8(%edi),%eax
484bd5:	89 06                	mov    %eax,(%esi)
484bd7:	eb 03                	jmp    0x484bdc
484bd9:	8d 4e 04             	lea    0x4(%esi),%ecx
484bdc:	8b 01                	mov    (%ecx),%eax
484bde:	89 47 18             	mov    %eax,0x18(%edi)
484be1:	eb 1e                	jmp    0x484c01
484be3:	83 fb 01             	cmp    $0x1,%ebx
484be6:	75 0b                	jne    0x484bf3
484be8:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
484bee:	89 47 10             	mov    %eax,0x10(%edi)
484bf1:	eb 0e                	jmp    0x484c01
484bf3:	83 fb 05             	cmp    $0x5,%ebx
484bf6:	75 09                	jne    0x484c01
484bf8:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
484bfe:	89 47 14             	mov    %eax,0x14(%edi)
484c01:	6b c3 0c             	imul   $0xc,%ebx,%eax
484c04:	57                   	push   %edi
484c05:	8b b0 c0 31 4a 00    	mov    0x4a31c0(%eax),%esi
484c0b:	8b ce                	mov    %esi,%ecx
484c0d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
484c13:	ff d6                	call   *%esi
484c15:	59                   	pop    %ecx
484c16:	8b 8d 30 fd ff ff    	mov    -0x2d0(%ebp),%ecx
484c1c:	85 c0                	test   %eax,%eax
484c1e:	74 4a                	je     0x484c6a
484c20:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
484c26:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
484c29:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
484c30:	e8 c3 0b 00 00       	call   0x4857f8
484c35:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
484c3b:	8b 85 1c fd ff ff    	mov    -0x2e4(%ebp),%eax
484c41:	51                   	push   %ecx
484c42:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
484c49:	e8 aa 0b 00 00       	call   0x4857f8
484c4e:	8b 85 18 fd ff ff    	mov    -0x2e8(%ebp),%eax
484c54:	59                   	pop    %ecx
484c55:	59                   	pop    %ecx
484c56:	89 47 08             	mov    %eax,0x8(%edi)
484c59:	33 c0                	xor    %eax,%eax
484c5b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
484c5e:	5f                   	pop    %edi
484c5f:	5e                   	pop    %esi
484c60:	33 cd                	xor    %ebp,%ecx
484c62:	5b                   	pop    %ebx
484c63:	e8 62 4d fe ff       	call   0x4699ca
484c68:	c9                   	leave
484c69:	c3                   	ret
484c6a:	81 f9 90 42 4c 00    	cmp    $0x4c4290,%ecx
484c70:	74 4a                	je     0x484cbc
484c72:	8b f3                	mov    %ebx,%esi
484c74:	83 c9 ff             	or     $0xffffffff,%ecx
484c77:	03 f6                	add    %esi,%esi
484c79:	8b 44 f7 28          	mov    0x28(%edi,%esi,8),%eax
484c7d:	f0 0f c1 08          	lock xadd %ecx,(%eax)
484c81:	75 39                	jne    0x484cbc
484c83:	ff 74 f7 28          	push   0x28(%edi,%esi,8)
484c87:	e8 6c 0b 00 00       	call   0x4857f8
484c8c:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
484c90:	e8 63 0b 00 00       	call   0x4857f8
484c95:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
484c9c:	e8 57 0b 00 00       	call   0x4857f8
484ca1:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
484ca7:	83 c4 0c             	add    $0xc,%esp
484caa:	8b 8d 44 fd ff ff    	mov    -0x2bc(%ebp),%ecx
484cb0:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
484cb3:	89 8c 9f a0 00 00 00 	mov    %ecx,0xa0(%edi,%ebx,4)
484cba:	eb 06                	jmp    0x484cc2
484cbc:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
484cc2:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
484cc8:	03 db                	add    %ebx,%ebx
484cca:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
484cd0:	8b 04 38             	mov    (%eax,%edi,1),%eax
484cd3:	89 4c df 28          	mov    %ecx,0x28(%edi,%ebx,8)
484cd7:	eb 82                	jmp    0x484c5b
484cd9:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
484cdf:	50                   	push   %eax
484ce0:	50                   	push   %eax
484ce1:	50                   	push   %eax
484ce2:	50                   	push   %eax
484ce3:	50                   	push   %eax
484ce4:	e8 65 49 ff ff       	call   0x47964e
484ce9:	cc                   	int3
484cea:	8b ff                	mov    %edi,%edi
484cec:	55                   	push   %ebp
484ced:	8b ec                	mov    %esp,%ebp
484cef:	51                   	push   %ecx
484cf0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
484cf4:	8d 45 fc             	lea    -0x4(%ebp),%eax
484cf7:	6a 02                	push   $0x2
484cf9:	50                   	push   %eax
484cfa:	68 04 10 00 20       	push   $0x20001004
484cff:	ff 75 08             	push   0x8(%ebp)
484d02:	e8 29 3c 00 00       	call   0x488930
484d07:	85 c0                	test   %eax,%eax
484d09:	74 07                	je     0x484d12
484d0b:	8b 45 fc             	mov    -0x4(%ebp),%eax
484d0e:	85 c0                	test   %eax,%eax
484d10:	75 05                	jne    0x484d17
484d12:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
484d17:	c9                   	leave
484d18:	c3                   	ret
484d19:	8b ff                	mov    %edi,%edi
484d1b:	55                   	push   %ebp
484d1c:	8b ec                	mov    %esp,%ebp
484d1e:	83 ec 44             	sub    $0x44,%esp
484d21:	a1 14 40 4c 00       	mov    0x4c4014,%eax
484d26:	33 c5                	xor    %ebp,%eax
484d28:	89 45 fc             	mov    %eax,-0x4(%ebp)
484d2b:	8b 45 0c             	mov    0xc(%ebp),%eax
484d2e:	53                   	push   %ebx
484d2f:	56                   	push   %esi
484d30:	8b 75 08             	mov    0x8(%ebp),%esi
484d33:	33 db                	xor    %ebx,%ebx
484d35:	57                   	push   %edi
484d36:	68 ca 01 00 00       	push   $0x1ca
484d3b:	53                   	push   %ebx
484d3c:	56                   	push   %esi
484d3d:	89 75 bc             	mov    %esi,-0x44(%ebp)
484d40:	89 45 c4             	mov    %eax,-0x3c(%ebp)
484d43:	e8 68 6e fe ff       	call   0x46bbb0
484d48:	8b 55 c4             	mov    -0x3c(%ebp),%edx
484d4b:	8d 4d d0             	lea    -0x30(%ebp),%ecx