46f9b2:	75 09                	jne    0x46f9bd
46f9b4:	ff 76 28             	push   0x28(%esi)
46f9b7:	e8 7d 29 00 00       	call   0x472339
46f9bc:	59                   	pop    %ecx
46f9bd:	8b 46 24             	mov    0x24(%esi),%eax
46f9c0:	85 c0                	test   %eax,%eax
46f9c2:	74 10                	je     0x46f9d4
46f9c4:	f0 0f c1 38          	lock xadd %edi,(%eax)
46f9c8:	4f                   	dec    %edi
46f9c9:	75 09                	jne    0x46f9d4
46f9cb:	ff 76 24             	push   0x24(%esi)
46f9ce:	e8 66 29 00 00       	call   0x472339
46f9d3:	59                   	pop    %ecx
46f9d4:	33 c0                	xor    %eax,%eax
46f9d6:	89 46 24             	mov    %eax,0x24(%esi)
46f9d9:	89 46 1c             	mov    %eax,0x1c(%esi)
46f9dc:	89 46 28             	mov    %eax,0x28(%esi)
46f9df:	89 46 20             	mov    %eax,0x20(%esi)
46f9e2:	8b 46 40             	mov    0x40(%esi),%eax
46f9e5:	eb ad                	jmp    0x46f994
46f9e7:	33 c0                	xor    %eax,%eax
46f9e9:	50                   	push   %eax
46f9ea:	50                   	push   %eax
46f9eb:	50                   	push   %eax
46f9ec:	50                   	push   %eax
46f9ed:	50                   	push   %eax
46f9ee:	e8 10 d3 fd ff       	call   0x44cd03
46f9f3:	cc                   	int3
46f9f4:	8b ff                	mov    %edi,%edi
46f9f6:	55                   	push   %ebp
46f9f7:	8b ec                	mov    %esp,%ebp
46f9f9:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
46f9ff:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46fa04:	33 c5                	xor    %ebp,%eax
46fa06:	89 45 fc             	mov    %eax,-0x4(%ebp)
46fa09:	8b 45 0c             	mov    0xc(%ebp),%eax
46fa0c:	53                   	push   %ebx
46fa0d:	56                   	push   %esi
46fa0e:	8b 75 10             	mov    0x10(%ebp),%esi
46fa11:	57                   	push   %edi
46fa12:	8b 7d 08             	mov    0x8(%ebp),%edi
46fa15:	89 bd 38 fe ff ff    	mov    %edi,-0x1c8(%ebp)
46fa1b:	85 c0                	test   %eax,%eax
46fa1d:	74 21                	je     0x46fa40
46fa1f:	85 f6                	test   %esi,%esi
46fa21:	74 10                	je     0x46fa33
46fa23:	56                   	push   %esi
46fa24:	50                   	push   %eax
46fa25:	57                   	push   %edi
46fa26:	e8 ae 02 00 00       	call   0x46fcd9
46fa2b:	83 c4 0c             	add    $0xc,%esp
46fa2e:	e9 83 02 00 00       	jmp    0x46fcb6
46fa33:	83 c0 02             	add    $0x2,%eax
46fa36:	03 c0                	add    %eax,%eax
46fa38:	8b 04 c7             	mov    (%edi,%eax,8),%eax
46fa3b:	e9 76 02 00 00       	jmp    0x46fcb6
46fa40:	33 c0                	xor    %eax,%eax
46fa42:	c7 85 3c fe ff ff 01 	movl   $0x1,-0x1c4(%ebp)
46fa49:	00 00 00
46fa4c:	89 85 34 fe ff ff    	mov    %eax,-0x1cc(%ebp)
46fa52:	8b d8                	mov    %eax,%ebx
46fa54:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
46fa5a:	85 f6                	test   %esi,%esi
46fa5c:	0f 84 4d 02 00 00    	je     0x46fcaf
46fa62:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
46fa66:	0f 85 61 01 00 00    	jne    0x46fbcd
46fa6c:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
46fa71:	0f 85 56 01 00 00    	jne    0x46fbcd
46fa77:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
46fa7c:	0f 85 4b 01 00 00    	jne    0x46fbcd
46fa82:	68 60 d9 49 00       	push   $0x49d960
46fa87:	56                   	push   %esi
46fa88:	e8 50 0a 01 00       	call   0x4804dd
46fa8d:	8b d8                	mov    %eax,%ebx
46fa8f:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
46fa95:	59                   	pop    %ecx
46fa96:	59                   	pop    %ecx
46fa97:	85 db                	test   %ebx,%ebx
46fa99:	0f 84 27 01 00 00    	je     0x46fbc6
46fa9f:	2b c6                	sub    %esi,%eax
46faa1:	d1 f8                	sar    $1,%eax
46faa3:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
46faa9:	0f 84 17 01 00 00    	je     0x46fbc6
46faaf:	6a 3b                	push   $0x3b
46fab1:	58                   	pop    %eax
46fab2:	66 39 03             	cmp    %ax,(%ebx)
46fab5:	0f 84 0b 01 00 00    	je     0x46fbc6
46fabb:	8b bd 3c fe ff ff    	mov    -0x1c4(%ebp),%edi
46fac1:	bb 24 d8 49 00       	mov    $0x49d824,%ebx
46fac6:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
46facd:	00 00 00
46fad0:	57                   	push   %edi
46fad1:	56                   	push   %esi
46fad2:	ff 33                	push   (%ebx)
46fad4:	e8 b7 07 00 00       	call   0x470290
46fad9:	83 c4 0c             	add    $0xc,%esp
46fadc:	85 c0                	test   %eax,%eax
46fade:	75 1c                	jne    0x46fafc
46fae0:	8b 0b                	mov    (%ebx),%ecx
46fae2:	8d 51 02             	lea    0x2(%ecx),%edx
46fae5:	66 8b 01             	mov    (%ecx),%ax
46fae8:	83 c1 02             	add    $0x2,%ecx
46faeb:	66 3b 85 34 fe ff ff 	cmp    -0x1cc(%ebp),%ax
46faf2:	75 f1                	jne    0x46fae5
46faf4:	2b ca                	sub    %edx,%ecx
46faf6:	d1 f9                	sar    $1,%ecx
46faf8:	3b f9                	cmp    %ecx,%edi
46fafa:	74 11                	je     0x46fb0d
46fafc:	ff 85 40 fe ff ff    	incl   -0x1c0(%ebp)
46fb02:	83 c3 0c             	add    $0xc,%ebx
46fb05:	81 fb 54 d8 49 00    	cmp    $0x49d854,%ebx
46fb0b:	7e c3                	jle    0x46fad0
46fb0d:	8b 9d 30 fe ff ff    	mov    -0x1d0(%ebp),%ebx
46fb13:	83 c3 02             	add    $0x2,%ebx
46fb16:	68 68 d9 49 00       	push   $0x49d968
46fb1b:	53                   	push   %ebx
46fb1c:	e8 6c 09 01 00       	call   0x48048d
46fb21:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
46fb27:	8b f0                	mov    %eax,%esi
46fb29:	59                   	pop    %ecx
46fb2a:	59                   	pop    %ecx
46fb2b:	85 f6                	test   %esi,%esi
46fb2d:	75 0c                	jne    0x46fb3b
46fb2f:	6a 3b                	push   $0x3b
46fb31:	58                   	pop    %eax
46fb32:	66 39 03             	cmp    %ax,(%ebx)
46fb35:	0f 85 8b 00 00 00    	jne    0x46fbc6
46fb3b:	83 bd 40 fe ff ff 05 	cmpl   $0x5,-0x1c0(%ebp)
46fb42:	7f 5f                	jg     0x46fba3
46fb44:	56                   	push   %esi
46fb45:	53                   	push   %ebx
46fb46:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46fb4c:	68 83 00 00 00       	push   $0x83
46fb51:	50                   	push   %eax
46fb52:	e8 7b f4 00 00       	call   0x47efd2
46fb57:	83 c4 10             	add    $0x10,%esp
46fb5a:	85 c0                	test   %eax,%eax
46fb5c:	0f 85 6a 01 00 00    	jne    0x46fccc
46fb62:	8d 04 36             	lea    (%esi,%esi,1),%eax
46fb65:	3d 06 01 00 00       	cmp    $0x106,%eax
46fb6a:	0f 83 57 01 00 00    	jae    0x46fcc7
46fb70:	33 c9                	xor    %ecx,%ecx
46fb72:	66 89 8c 05 f4 fe ff 	mov    %cx,-0x10c(%ebp,%eax,1)
46fb79:	ff
46fb7a:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46fb80:	50                   	push   %eax
46fb81:	ff b5 40 fe ff ff    	push   -0x1c0(%ebp)
46fb87:	57                   	push   %edi
46fb88:	e8 4c 01 00 00       	call   0x46fcd9
46fb8d:	83 c4 0c             	add    $0xc,%esp
46fb90:	85 c0                	test   %eax,%eax
46fb92:	8b 85 44 fe ff ff    	mov    -0x1bc(%ebp),%eax
46fb98:	74 0f                	je     0x46fba9
46fb9a:	40                   	inc    %eax
46fb9b:	89 85 44 fe ff ff    	mov    %eax,-0x1bc(%ebp)
46fba1:	eb 06                	jmp    0x46fba9
46fba3:	8b 85 44 fe ff ff    	mov    -0x1bc(%ebp),%eax
46fba9:	8d 34 73             	lea    (%ebx,%esi,2),%esi
46fbac:	33 c9                	xor    %ecx,%ecx
46fbae:	66 39 0e             	cmp    %cx,(%esi)
46fbb1:	74 0c                	je     0x46fbbf
46fbb3:	83 c6 02             	add    $0x2,%esi
46fbb6:	66 39 0e             	cmp    %cx,(%esi)
46fbb9:	0f 85 c3 fe ff ff    	jne    0x46fa82
46fbbf:	85 c0                	test   %eax,%eax
46fbc1:	e9 e3 00 00 00       	jmp    0x46fca9
46fbc6:	33 c0                	xor    %eax,%eax
46fbc8:	e9 e9 00 00 00       	jmp    0x46fcb6
46fbcd:	50                   	push   %eax
46fbce:	6a 55                	push   $0x55
46fbd0:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
46fbd6:	50                   	push   %eax
46fbd7:	68 83 00 00 00       	push   $0x83
46fbdc:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46fbe2:	50                   	push   %eax
46fbe3:	56                   	push   %esi
46fbe4:	e8 f9 f5 ff ff       	call   0x46f1e2
46fbe9:	83 c4 18             	add    $0x18,%esp
46fbec:	85 c0                	test   %eax,%eax
46fbee:	0f 84 c2 00 00 00    	je     0x46fcb6
46fbf4:	33 c9                	xor    %ecx,%ecx
46fbf6:	8d 57 20             	lea    0x20(%edi),%edx
46fbf9:	8b f1                	mov    %ecx,%esi
46fbfb:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
46fc01:	85 f6                	test   %esi,%esi
46fc03:	0f 84 81 00 00 00    	je     0x46fc8a
46fc09:	8b 0a                	mov    (%edx),%ecx
46fc0b:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46fc11:	66 8b 38             	mov    (%eax),%di
46fc14:	66 3b 39             	cmp    (%ecx),%di
46fc17:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
46fc1d:	75 33                	jne    0x46fc52
46fc1f:	66 83 38 00          	cmpw   $0x0,(%eax)
46fc23:	74 27                	je     0x46fc4c
46fc25:	66 8b 50 02          	mov    0x2(%eax),%dx
46fc29:	66 3b 51 02          	cmp    0x2(%ecx),%dx
46fc2d:	66 89 95 42 fe ff ff 	mov    %dx,-0x1be(%ebp)
46fc34:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
46fc3a:	75 16                	jne    0x46fc52
46fc3c:	83 c0 04             	add    $0x4,%eax
46fc3f:	83 c1 04             	add    $0x4,%ecx
46fc42:	66 83 bd 42 fe ff ff 	cmpw   $0x0,-0x1be(%ebp)
46fc49:	00
46fc4a:	75 c5                	jne    0x46fc11
46fc4c:	33 c9                	xor    %ecx,%ecx
46fc4e:	8b c1                	mov    %ecx,%eax
46fc50:	eb 07                	jmp    0x46fc59
46fc52:	1b c0                	sbb    %eax,%eax
46fc54:	83 c8 01             	or     $0x1,%eax
46fc57:	33 c9                	xor    %ecx,%ecx
46fc59:	85 c0                	test   %eax,%eax
46fc5b:	74 2c                	je     0x46fc89
46fc5d:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46fc63:	50                   	push   %eax
46fc64:	56                   	push   %esi
46fc65:	57                   	push   %edi
46fc66:	e8 6e 00 00 00       	call   0x46fcd9
46fc6b:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
46fc71:	83 c4 0c             	add    $0xc,%esp
46fc74:	85 c0                	test   %eax,%eax
46fc76:	74 05                	je     0x46fc7d
46fc78:	43                   	inc    %ebx
46fc79:	33 c9                	xor    %ecx,%ecx
46fc7b:	eb 0d                	jmp    0x46fc8a
46fc7d:	33 c9                	xor    %ecx,%ecx
46fc7f:	8b c1                	mov    %ecx,%eax
46fc81:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
46fc87:	eb 07                	jmp    0x46fc90
46fc89:	43                   	inc    %ebx
46fc8a:	8b 85 3c fe ff ff    	mov    -0x1c4(%ebp),%eax
46fc90:	46                   	inc    %esi
46fc91:	83 c2 10             	add    $0x10,%edx
46fc94:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
46fc9a:	83 fe 05             	cmp    $0x5,%esi
46fc9d:	0f 8e 5e ff ff ff    	jle    0x46fc01
46fca3:	85 c0                	test   %eax,%eax
46fca5:	75 08                	jne    0x46fcaf
46fca7:	85 db                	test   %ebx,%ebx
46fca9:	75 04                	jne    0x46fcaf
46fcab:	8b c1                	mov    %ecx,%eax
46fcad:	eb 07                	jmp    0x46fcb6
46fcaf:	57                   	push   %edi
46fcb0:	e8 a6 fb ff ff       	call   0x46f85b
46fcb5:	59                   	pop    %ecx
46fcb6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46fcb9:	5f                   	pop    %edi
46fcba:	5e                   	pop    %esi
46fcbb:	33 cd                	xor    %ebp,%ecx
46fcbd:	5b                   	pop    %ebx
46fcbe:	e8 3f fd fc ff       	call   0x43fa02
46fcc3:	8b e5                	mov    %ebp,%esp
46fcc5:	5d                   	pop    %ebp
46fcc6:	c3                   	ret
46fcc7:	e8 10 0e fd ff       	call   0x440adc
46fccc:	33 c0                	xor    %eax,%eax
46fcce:	50                   	push   %eax
46fccf:	50                   	push   %eax
46fcd0:	50                   	push   %eax
46fcd1:	50                   	push   %eax
46fcd2:	50                   	push   %eax
46fcd3:	e8 2b d0 fd ff       	call   0x44cd03
46fcd8:	cc                   	int3
46fcd9:	8b ff                	mov    %edi,%edi
46fcdb:	55                   	push   %ebp
46fcdc:	8b ec                	mov    %esp,%ebp
46fcde:	81 ec e4 02 00 00    	sub    $0x2e4,%esp
46fce4:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46fce9:	33 c5                	xor    %ebp,%eax
46fceb:	89 45 fc             	mov    %eax,-0x4(%ebp)
46fcee:	53                   	push   %ebx
46fcef:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46fcf2:	56                   	push   %esi
46fcf3:	8b 75 10             	mov    0x10(%ebp),%esi
46fcf6:	57                   	push   %edi
46fcf7:	8b 7d 08             	mov    0x8(%ebp),%edi
46fcfa:	89 9d 24 fd ff ff    	mov    %ebx,-0x2dc(%ebp)
46fd00:	e8 fb 22 00 00       	call   0x472000
46fd05:	05 78 02 00 00       	add    $0x278,%eax
46fd0a:	89 85 30 fd ff ff    	mov    %eax,-0x2d0(%ebp)
46fd10:	8d 85 3c fd ff ff    	lea    -0x2c4(%ebp),%eax
46fd16:	50                   	push   %eax
46fd17:	6a 55                	push   $0x55
46fd19:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
46fd1f:	50                   	push   %eax
46fd20:	68 83 00 00 00       	push   $0x83
46fd25:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46fd2b:	50                   	push   %eax
46fd2c:	56                   	push   %esi
46fd2d:	e8 b0 f4 ff ff       	call   0x46f1e2
46fd32:	83 c4 18             	add    $0x18,%esp
46fd35:	85 c0                	test   %eax,%eax
46fd37:	75 13                	jne    0x46fd4c
46fd39:	33 c0                	xor    %eax,%eax
46fd3b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46fd3e:	5f                   	pop    %edi
46fd3f:	5e                   	pop    %esi
46fd40:	33 cd                	xor    %ebp,%ecx
46fd42:	5b                   	pop    %ebx
46fd43:	e8 ba fc fc ff       	call   0x43fa02
46fd48:	8b e5                	mov    %ebp,%esp
46fd4a:	5d                   	pop    %ebp
46fd4b:	c3                   	ret
46fd4c:	8d 73 02             	lea    0x2(%ebx),%esi
46fd4f:	c1 e6 04             	shl    $0x4,%esi
46fd52:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46fd58:	89 b5 38 fd ff ff    	mov    %esi,-0x2c8(%ebp)
46fd5e:	8b 14 3e             	mov    (%esi,%edi,1),%edx
46fd61:	8b ca                	mov    %edx,%ecx
46fd63:	66 8b 30             	mov    (%eax),%si
46fd66:	83 a5 44 fd ff ff 00 	andl   $0x0,-0x2bc(%ebp)
46fd6d:	66 3b 31             	cmp    (%ecx),%si
46fd70:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
46fd76:	75 35                	jne    0x46fdad
46fd78:	66 83 38 00          	cmpw   $0x0,(%eax)
46fd7c:	74 27                	je     0x46fda5
46fd7e:	66 8b 70 02          	mov    0x2(%eax),%si
46fd82:	66 3b 71 02          	cmp    0x2(%ecx),%si
46fd86:	66 89 b5 42 fd ff ff 	mov    %si,-0x2be(%ebp)
46fd8d:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
46fd93:	75 18                	jne    0x46fdad
46fd95:	83 c0 04             	add    $0x4,%eax
46fd98:	83 c1 04             	add    $0x4,%ecx
46fd9b:	66 83 bd 42 fd ff ff 	cmpw   $0x0,-0x2be(%ebp)
46fda2:	00
46fda3:	75 be                	jne    0x46fd63
46fda5:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
46fdab:	eb 05                	jmp    0x46fdb2
46fdad:	1b c0                	sbb    %eax,%eax
46fdaf:	83 c8 01             	or     $0x1,%eax
46fdb2:	85 c0                	test   %eax,%eax
46fdb4:	75 04                	jne    0x46fdba
46fdb6:	8b c2                	mov    %edx,%eax
46fdb8:	eb 81                	jmp    0x46fd3b
46fdba:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
46fdc0:	8d 51 02             	lea    0x2(%ecx),%edx
46fdc3:	66 8b 01             	mov    (%ecx),%ax
46fdc6:	83 c1 02             	add    $0x2,%ecx
46fdc9:	66 3b 85 44 fd ff ff 	cmp    -0x2bc(%ebp),%ax
46fdd0:	75 f1                	jne    0x46fdc3
46fdd2:	2b ca                	sub    %edx,%ecx
46fdd4:	d1 f9                	sar    $1,%ecx
46fdd6:	8d 41 01             	lea    0x1(%ecx),%eax
46fdd9:	89 85 34 fd ff ff    	mov    %eax,-0x2cc(%ebp)
46fddf:	8d 04 45 04 00 00 00 	lea    0x4(,%eax,2),%eax
46fde6:	50                   	push   %eax
46fde7:	e8 3e 6f 00 00       	call   0x476d2a
46fdec:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
46fdf2:	59                   	pop    %ecx
46fdf3:	85 c0                	test   %eax,%eax
46fdf5:	0f 84 3e ff ff ff    	je     0x46fd39