42ac3f:	8d 43 04             	lea    0x4(%ebx),%eax
42ac42:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
42ac46:	89 5e 28             	mov    %ebx,0x28(%esi)
42ac49:	89 46 20             	mov    %eax,0x20(%esi)
42ac4c:	5f                   	pop    %edi
42ac4d:	5e                   	pop    %esi
42ac4e:	5b                   	pop    %ebx
42ac4f:	c9                   	leave
42ac50:	c3                   	ret
42ac51:	53                   	push   %ebx
42ac52:	e8 20 18 00 00       	call   0x42c477
42ac57:	59                   	pop    %ecx
42ac58:	8b 4e 28             	mov    0x28(%esi),%ecx
42ac5b:	83 cf ff             	or     $0xffffffff,%edi
42ac5e:	85 c9                	test   %ecx,%ecx
42ac60:	74 11                	je     0x42ac73
42ac62:	8b c7                	mov    %edi,%eax
42ac64:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42ac68:	75 09                	jne    0x42ac73
42ac6a:	ff 76 28             	push   0x28(%esi)
42ac6d:	e8 05 18 00 00       	call   0x42c477
42ac72:	59                   	pop    %ecx
42ac73:	8b 46 24             	mov    0x24(%esi),%eax
42ac76:	85 c0                	test   %eax,%eax
42ac78:	74 10                	je     0x42ac8a
42ac7a:	f0 0f c1 38          	lock xadd %edi,(%eax)
42ac7e:	4f                   	dec    %edi
42ac7f:	75 09                	jne    0x42ac8a
42ac81:	ff 76 24             	push   0x24(%esi)
42ac84:	e8 ee 17 00 00       	call   0x42c477
42ac89:	59                   	pop    %ecx
42ac8a:	33 c0                	xor    %eax,%eax
42ac8c:	89 46 24             	mov    %eax,0x24(%esi)
42ac8f:	89 46 1c             	mov    %eax,0x1c(%esi)
42ac92:	89 46 28             	mov    %eax,0x28(%esi)
42ac95:	89 46 20             	mov    %eax,0x20(%esi)
42ac98:	8b 46 40             	mov    0x40(%esi),%eax
42ac9b:	eb af                	jmp    0x42ac4c
42ac9d:	33 c0                	xor    %eax,%eax
42ac9f:	50                   	push   %eax
42aca0:	50                   	push   %eax
42aca1:	50                   	push   %eax
42aca2:	50                   	push   %eax
42aca3:	50                   	push   %eax
42aca4:	e8 f3 5d ff ff       	call   0x420a9c
42aca9:	cc                   	int3
42acaa:	8b ff                	mov    %edi,%edi
42acac:	55                   	push   %ebp
42acad:	8b ec                	mov    %esp,%ebp
42acaf:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
42acb5:	a1 14 40 45 00       	mov    0x454014,%eax
42acba:	33 c5                	xor    %ebp,%eax
42acbc:	89 45 fc             	mov    %eax,-0x4(%ebp)
42acbf:	8b 45 0c             	mov    0xc(%ebp),%eax
42acc2:	53                   	push   %ebx
42acc3:	56                   	push   %esi
42acc4:	8b 75 10             	mov    0x10(%ebp),%esi
42acc7:	57                   	push   %edi
42acc8:	8b 7d 08             	mov    0x8(%ebp),%edi
42accb:	89 bd 38 fe ff ff    	mov    %edi,-0x1c8(%ebp)
42acd1:	85 c0                	test   %eax,%eax
42acd3:	74 21                	je     0x42acf6
42acd5:	85 f6                	test   %esi,%esi
42acd7:	74 10                	je     0x42ace9
42acd9:	56                   	push   %esi
42acda:	50                   	push   %eax
42acdb:	57                   	push   %edi
42acdc:	e8 b9 02 00 00       	call   0x42af9a
42ace1:	83 c4 0c             	add    $0xc,%esp
42ace4:	e9 90 02 00 00       	jmp    0x42af79
42ace9:	83 c0 02             	add    $0x2,%eax
42acec:	03 c0                	add    %eax,%eax
42acee:	8b 04 c7             	mov    (%edi,%eax,8),%eax
42acf1:	e9 83 02 00 00       	jmp    0x42af79
42acf6:	33 c0                	xor    %eax,%eax
42acf8:	c7 85 3c fe ff ff 01 	movl   $0x1,-0x1c4(%ebp)
42acff:	00 00 00
42ad02:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
42ad08:	8b d8                	mov    %eax,%ebx
42ad0a:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
42ad10:	85 f6                	test   %esi,%esi
42ad12:	0f 84 5a 02 00 00    	je     0x42af72
42ad18:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
42ad1c:	0f 85 68 01 00 00    	jne    0x42ae8a
42ad22:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
42ad27:	0f 85 5d 01 00 00    	jne    0x42ae8a
42ad2d:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
42ad32:	0f 85 52 01 00 00    	jne    0x42ae8a
42ad38:	68 2c 29 44 00       	push   $0x44292c
42ad3d:	56                   	push   %esi
42ad3e:	e8 c4 a5 00 00       	call   0x435307
42ad43:	8b d8                	mov    %eax,%ebx
42ad45:	89 9d 34 fe ff ff    	mov    %ebx,-0x1cc(%ebp)
42ad4b:	59                   	pop    %ecx
42ad4c:	59                   	pop    %ecx
42ad4d:	85 db                	test   %ebx,%ebx
42ad4f:	0f 84 2e 01 00 00    	je     0x42ae83
42ad55:	2b c6                	sub    %esi,%eax
42ad57:	d1 f8                	sar    $1,%eax
42ad59:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
42ad5f:	0f 84 1e 01 00 00    	je     0x42ae83
42ad65:	6a 3b                	push   $0x3b
42ad67:	58                   	pop    %eax
42ad68:	66 39 03             	cmp    %ax,(%ebx)
42ad6b:	0f 84 12 01 00 00    	je     0x42ae83
42ad71:	8b bd 3c fe ff ff    	mov    -0x1c4(%ebp),%edi
42ad77:	bb 74 28 44 00       	mov    $0x442874,%ebx
42ad7c:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
42ad83:	00 00 00
42ad86:	57                   	push   %edi
42ad87:	56                   	push   %esi
42ad88:	ff 33                	push   (%ebx)
42ad8a:	e8 60 d4 ff ff       	call   0x4281ef
42ad8f:	83 c4 0c             	add    $0xc,%esp
42ad92:	85 c0                	test   %eax,%eax
42ad94:	75 1c                	jne    0x42adb2
42ad96:	8b 0b                	mov    (%ebx),%ecx
42ad98:	8d 51 02             	lea    0x2(%ecx),%edx
42ad9b:	66 8b 01             	mov    (%ecx),%ax
42ad9e:	83 c1 02             	add    $0x2,%ecx
42ada1:	66 3b 85 30 fe ff ff 	cmp    -0x1d0(%ebp),%ax
42ada8:	75 f1                	jne    0x42ad9b
42adaa:	2b ca                	sub    %edx,%ecx
42adac:	d1 f9                	sar    $1,%ecx
42adae:	3b f9                	cmp    %ecx,%edi
42adb0:	74 11                	je     0x42adc3
42adb2:	ff 85 40 fe ff ff    	incl   -0x1c0(%ebp)
42adb8:	83 c3 0c             	add    $0xc,%ebx
42adbb:	81 fb a4 28 44 00    	cmp    $0x4428a4,%ebx
42adc1:	7e c3                	jle    0x42ad86
42adc3:	8b 9d 34 fe ff ff    	mov    -0x1cc(%ebp),%ebx
42adc9:	83 c3 02             	add    $0x2,%ebx
42adcc:	68 34 29 44 00       	push   $0x442934
42add1:	53                   	push   %ebx
42add2:	e8 d7 a4 00 00       	call   0x4352ae
42add7:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
42addd:	8b f0                	mov    %eax,%esi
42addf:	59                   	pop    %ecx
42ade0:	59                   	pop    %ecx
42ade1:	85 f6                	test   %esi,%esi
42ade3:	75 0c                	jne    0x42adf1
42ade5:	6a 3b                	push   $0x3b
42ade7:	58                   	pop    %eax
42ade8:	66 39 03             	cmp    %ax,(%ebx)
42adeb:	0f 85 92 00 00 00    	jne    0x42ae83
42adf1:	83 bd 40 fe ff ff 05 	cmpl   $0x5,-0x1c0(%ebp)
42adf8:	7f 5f                	jg     0x42ae59
42adfa:	56                   	push   %esi
42adfb:	53                   	push   %ebx
42adfc:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42ae02:	68 83 00 00 00       	push   $0x83
42ae07:	50                   	push   %eax
42ae08:	e8 9b cf ff ff       	call   0x427da8
42ae0d:	83 c4 10             	add    $0x10,%esp
42ae10:	85 c0                	test   %eax,%eax
42ae12:	0f 85 75 01 00 00    	jne    0x42af8d
42ae18:	8d 04 36             	lea    (%esi,%esi,1),%eax
42ae1b:	3d 06 01 00 00       	cmp    $0x106,%eax
42ae20:	0f 83 62 01 00 00    	jae    0x42af88
42ae26:	33 c9                	xor    %ecx,%ecx
42ae28:	66 89 8c 05 f4 fe ff 	mov    %cx,-0x10c(%ebp,%eax,1)
42ae2f:	ff
42ae30:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42ae36:	50                   	push   %eax
42ae37:	ff b5 40 fe ff ff    	push   -0x1c0(%ebp)
42ae3d:	57                   	push   %edi
42ae3e:	e8 57 01 00 00       	call   0x42af9a
42ae43:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
42ae49:	83 c4 0c             	add    $0xc,%esp
42ae4c:	85 c0                	test   %eax,%eax
42ae4e:	74 0f                	je     0x42ae5f
42ae50:	41                   	inc    %ecx
42ae51:	89 8d 44 fe ff ff    	mov    %ecx,-0x1bc(%ebp)
42ae57:	eb 06                	jmp    0x42ae5f
42ae59:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
42ae5f:	8d 34 73             	lea    (%ebx,%esi,2),%esi
42ae62:	0f b7 06             	movzwl (%esi),%eax
42ae65:	8b d0                	mov    %eax,%edx
42ae67:	66 85 c0             	test   %ax,%ax
42ae6a:	74 06                	je     0x42ae72
42ae6c:	83 c6 02             	add    $0x2,%esi
42ae6f:	0f b7 16             	movzwl (%esi),%edx
42ae72:	66 85 d2             	test   %dx,%dx
42ae75:	0f 85 bd fe ff ff    	jne    0x42ad38
42ae7b:	85 c9                	test   %ecx,%ecx
42ae7d:	0f 85 ef 00 00 00    	jne    0x42af72
42ae83:	33 c0                	xor    %eax,%eax
42ae85:	e9 ef 00 00 00       	jmp    0x42af79
42ae8a:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
42ae90:	50                   	push   %eax
42ae91:	6a 55                	push   $0x55
42ae93:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
42ae99:	50                   	push   %eax
42ae9a:	68 83 00 00 00       	push   $0x83
42ae9f:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42aea5:	50                   	push   %eax
42aea6:	56                   	push   %esi
42aea7:	e8 d9 f7 ff ff       	call   0x42a685
42aeac:	83 c4 18             	add    $0x18,%esp
42aeaf:	85 c0                	test   %eax,%eax
42aeb1:	0f 84 c2 00 00 00    	je     0x42af79
42aeb7:	33 c9                	xor    %ecx,%ecx
42aeb9:	8d 57 20             	lea    0x20(%edi),%edx
42aebc:	8b f1                	mov    %ecx,%esi
42aebe:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
42aec4:	85 f6                	test   %esi,%esi
42aec6:	0f 84 81 00 00 00    	je     0x42af4d
42aecc:	8b 0a                	mov    (%edx),%ecx
42aece:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42aed4:	66 8b 38             	mov    (%eax),%di
42aed7:	66 3b 39             	cmp    (%ecx),%di
42aeda:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
42aee0:	75 33                	jne    0x42af15
42aee2:	66 83 38 00          	cmpw   $0x0,(%eax)
42aee6:	74 27                	je     0x42af0f
42aee8:	66 8b 50 02          	mov    0x2(%eax),%dx
42aeec:	66 3b 51 02          	cmp    0x2(%ecx),%dx
42aef0:	66 89 95 42 fe ff ff 	mov    %dx,-0x1be(%ebp)
42aef7:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
42aefd:	75 16                	jne    0x42af15
42aeff:	83 c0 04             	add    $0x4,%eax
42af02:	83 c1 04             	add    $0x4,%ecx
42af05:	66 83 bd 42 fe ff ff 	cmpw   $0x0,-0x1be(%ebp)
42af0c:	00
42af0d:	75 c5                	jne    0x42aed4
42af0f:	33 c9                	xor    %ecx,%ecx
42af11:	8b c1                	mov    %ecx,%eax
42af13:	eb 07                	jmp    0x42af1c
42af15:	1b c0                	sbb    %eax,%eax
42af17:	83 c8 01             	or     $0x1,%eax
42af1a:	33 c9                	xor    %ecx,%ecx
42af1c:	85 c0                	test   %eax,%eax
42af1e:	74 2c                	je     0x42af4c
42af20:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42af26:	50                   	push   %eax
42af27:	56                   	push   %esi
42af28:	57                   	push   %edi
42af29:	e8 6c 00 00 00       	call   0x42af9a
42af2e:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
42af34:	83 c4 0c             	add    $0xc,%esp
42af37:	85 c0                	test   %eax,%eax
42af39:	74 05                	je     0x42af40
42af3b:	43                   	inc    %ebx
42af3c:	33 c9                	xor    %ecx,%ecx
42af3e:	eb 0d                	jmp    0x42af4d
42af40:	33 c9                	xor    %ecx,%ecx
42af42:	8b c1                	mov    %ecx,%eax
42af44:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
42af4a:	eb 07                	jmp    0x42af53
42af4c:	43                   	inc    %ebx
42af4d:	8b 85 3c fe ff ff    	mov    -0x1c4(%ebp),%eax
42af53:	46                   	inc    %esi
42af54:	83 c2 10             	add    $0x10,%edx
42af57:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
42af5d:	83 fe 05             	cmp    $0x5,%esi
42af60:	0f 8e 5e ff ff ff    	jle    0x42aec4
42af66:	85 c0                	test   %eax,%eax
42af68:	75 08                	jne    0x42af72
42af6a:	85 db                	test   %ebx,%ebx
42af6c:	75 04                	jne    0x42af72
42af6e:	8b c1                	mov    %ecx,%eax
42af70:	eb 07                	jmp    0x42af79
42af72:	57                   	push   %edi
42af73:	e8 97 fb ff ff       	call   0x42ab0f
42af78:	59                   	pop    %ecx
42af79:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42af7c:	5f                   	pop    %edi
42af7d:	5e                   	pop    %esi
42af7e:	33 cd                	xor    %ebp,%ecx
42af80:	5b                   	pop    %ebx
42af81:	e8 4a 09 ff ff       	call   0x41b8d0
42af86:	c9                   	leave
42af87:	c3                   	ret
42af88:	e8 b9 11 ff ff       	call   0x41c146
42af8d:	33 c0                	xor    %eax,%eax
42af8f:	50                   	push   %eax
42af90:	50                   	push   %eax
42af91:	50                   	push   %eax
42af92:	50                   	push   %eax
42af93:	50                   	push   %eax
42af94:	e8 03 5b ff ff       	call   0x420a9c
42af99:	cc                   	int3
42af9a:	8b ff                	mov    %edi,%edi
42af9c:	55                   	push   %ebp
42af9d:	8b ec                	mov    %esp,%ebp
42af9f:	81 ec e8 02 00 00    	sub    $0x2e8,%esp
42afa5:	a1 14 40 45 00       	mov    0x454014,%eax
42afaa:	33 c5                	xor    %ebp,%eax
42afac:	89 45 fc             	mov    %eax,-0x4(%ebp)
42afaf:	53                   	push   %ebx
42afb0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42afb3:	56                   	push   %esi
42afb4:	8b 75 10             	mov    0x10(%ebp),%esi
42afb7:	57                   	push   %edi
42afb8:	8b 7d 08             	mov    0x8(%ebp),%edi
42afbb:	89 9d 20 fd ff ff    	mov    %ebx,-0x2e0(%ebp)
42afc1:	e8 63 11 00 00       	call   0x42c129
42afc6:	05 78 02 00 00       	add    $0x278,%eax
42afcb:	89 85 24 fd ff ff    	mov    %eax,-0x2dc(%ebp)
42afd1:	8d 85 3c fd ff ff    	lea    -0x2c4(%ebp),%eax
42afd7:	50                   	push   %eax
42afd8:	6a 55                	push   $0x55
42afda:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
42afe0:	50                   	push   %eax
42afe1:	68 83 00 00 00       	push   $0x83
42afe6:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42afec:	50                   	push   %eax
42afed:	56                   	push   %esi
42afee:	e8 92 f6 ff ff       	call   0x42a685
42aff3:	83 c4 18             	add    $0x18,%esp
42aff6:	85 c0                	test   %eax,%eax
42aff8:	0f 84 cb 02 00 00    	je     0x42b2c9
42affe:	8d 73 02             	lea    0x2(%ebx),%esi
42b001:	c7 85 34 fd ff ff 04 	movl   $0x4,-0x2cc(%ebp)
42b008:	00 00 00
42b00b:	c1 e6 04             	shl    $0x4,%esi
42b00e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
42b014:	89 b5 38 fd ff ff    	mov    %esi,-0x2c8(%ebp)
42b01a:	8b 14 3e             	mov    (%esi,%edi,1),%edx
42b01d:	8b ca                	mov    %edx,%ecx
42b01f:	66 8b 30             	mov    (%eax),%si
42b022:	83 a5 44 fd ff ff 00 	andl   $0x0,-0x2bc(%ebp)
42b029:	66 3b 31             	cmp    (%ecx),%si
42b02c:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
42b032:	75 35                	jne    0x42b069
42b034:	66 83 38 00          	cmpw   $0x0,(%eax)
42b038:	74 27                	je     0x42b061
42b03a:	66 8b 70 02          	mov    0x2(%eax),%si
42b03e:	66 3b 71 02          	cmp    0x2(%ecx),%si
42b042:	66 89 b5 42 fd ff ff 	mov    %si,-0x2be(%ebp)
42b049:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
42b04f:	75 18                	jne    0x42b069
42b051:	83 c0 04             	add    $0x4,%eax
42b054:	83 c1 04             	add    $0x4,%ecx
42b057:	66 83 bd 42 fd ff ff 	cmpw   $0x0,-0x2be(%ebp)
42b05e:	00
42b05f:	75 be                	jne    0x42b01f
42b061:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
42b067:	eb 05                	jmp    0x42b06e
42b069:	1b c0                	sbb    %eax,%eax
42b06b:	83 c8 01             	or     $0x1,%eax
42b06e:	85 c0                	test   %eax,%eax
42b070:	75 07                	jne    0x42b079
42b072:	8b c2                	mov    %edx,%eax
42b074:	e9 52 02 00 00       	jmp    0x42b2cb
42b079:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
42b07f:	8d 51 02             	lea    0x2(%ecx),%edx
42b082:	66 8b 01             	mov    (%ecx),%ax
42b085:	83 c1 02             	add    $0x2,%ecx
42b088:	66 3b 85 44 fd ff ff 	cmp    -0x2bc(%ebp),%ax