41cba2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41cba5:	51                   	push   %ecx
41cba6:	ff 75 e0             	push   -0x20(%ebp)
41cba9:	89 45 e8             	mov    %eax,-0x18(%ebp)
41cbac:	8d 47 08             	lea    0x8(%edi),%eax
41cbaf:	50                   	push   %eax
41cbb0:	51                   	push   %ecx
41cbb1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41cbb4:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41cbb7:	e8 de f9 ff ff       	call   0x41c59a
41cbbc:	89 45 d8             	mov    %eax,-0x28(%ebp)
41cbbf:	6a 10                	push   $0x10
41cbc1:	5a                   	pop    %edx
41cbc2:	85 c0                	test   %eax,%eax
41cbc4:	75 74                	jne    0x41cc3a
41cbc6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41cbc9:	85 c9                	test   %ecx,%ecx
41cbcb:	74 04                	je     0x41cbd1
41cbcd:	8b d9                	mov    %ecx,%ebx
41cbcf:	eb 69                	jmp    0x41cc3a
41cbd1:	b8 c8 00 00 00       	mov    $0xc8,%eax
41cbd6:	3b f0                	cmp    %eax,%esi
41cbd8:	73 02                	jae    0x41cbdc
41cbda:	8b f0                	mov    %eax,%esi
41cbdc:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
41cbdf:	73 03                	jae    0x41cbe4
41cbe1:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41cbe4:	3b f2                	cmp    %edx,%esi
41cbe6:	73 02                	jae    0x41cbea
41cbe8:	8b f2                	mov    %edx,%esi
41cbea:	8b 45 dc             	mov    -0x24(%ebp),%eax
41cbed:	85 c0                	test   %eax,%eax
41cbef:	74 11                	je     0x41cc02
41cbf1:	50                   	push   %eax
41cbf2:	33 c9                	xor    %ecx,%ecx
41cbf4:	51                   	push   %ecx
41cbf5:	ff 15 24 a1 43 00    	call   *0x43a124
41cbfb:	50                   	push   %eax
41cbfc:	ff 15 20 a1 43 00    	call   *0x43a120
41cc02:	56                   	push   %esi
41cc03:	6a 00                	push   $0x0
41cc05:	ff 15 24 a1 43 00    	call   *0x43a124
41cc0b:	50                   	push   %eax
41cc0c:	ff 15 1c a1 43 00    	call   *0x43a11c
41cc12:	8b d8                	mov    %eax,%ebx
41cc14:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41cc17:	85 db                	test   %ebx,%ebx
41cc19:	0f 84 a3 00 00 00    	je     0x41ccc2
41cc1f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41cc22:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41cc25:	50                   	push   %eax
41cc26:	53                   	push   %ebx
41cc27:	8d 47 08             	lea    0x8(%edi),%eax
41cc2a:	50                   	push   %eax
41cc2b:	51                   	push   %ecx
41cc2c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41cc2f:	e8 66 f9 ff ff       	call   0x41c59a
41cc34:	6a 10                	push   $0x10
41cc36:	89 45 d8             	mov    %eax,-0x28(%ebp)
41cc39:	5a                   	pop    %edx
41cc3a:	3d 23 00 00 c0       	cmp    $0xc0000023,%eax
41cc3f:	74 90                	je     0x41cbd1
41cc41:	85 c0                	test   %eax,%eax
41cc43:	0f 85 52 01 00 00    	jne    0x41cd9b
41cc49:	85 db                	test   %ebx,%ebx
41cc4b:	0f 84 4a 01 00 00    	je     0x41cd9b
41cc51:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41cc54:	83 fa 04             	cmp    $0x4,%edx
41cc57:	76 05                	jbe    0x41cc5e
41cc59:	8a 03                	mov    (%ebx),%al
41cc5b:	88 47 0c             	mov    %al,0xc(%edi)
41cc5e:	6a 10                	push   $0x10
41cc60:	59                   	pop    %ecx
41cc61:	3b d1                	cmp    %ecx,%edx
41cc63:	0f 82 dd 00 00 00    	jb     0x41cd46
41cc69:	80 7f 0c 02          	cmpb   $0x2,0xc(%edi)
41cc6d:	0f 85 d3 00 00 00    	jne    0x41cd46
41cc73:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
41cc77:	66 3b c1             	cmp    %cx,%ax
41cc7a:	0f 82 c6 00 00 00    	jb     0x41cd46
41cc80:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
41cc84:	6b c8 0c             	imul   $0xc,%eax,%ecx
41cc87:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
41cc8b:	c1 e0 04             	shl    $0x4,%eax
41cc8e:	03 c8                	add    %eax,%ecx
41cc90:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
41cc94:	03 c8                	add    %eax,%ecx
41cc96:	3b d1                	cmp    %ecx,%edx
41cc98:	0f 82 a5 00 00 00    	jb     0x41cd43
41cc9e:	0f b7 4b 04          	movzwl 0x4(%ebx),%ecx
41cca2:	33 c0                	xor    %eax,%eax
41cca4:	89 45 e0             	mov    %eax,-0x20(%ebp)
41cca7:	66 85 c9             	test   %cx,%cx
41ccaa:	74 4d                	je     0x41ccf9
41ccac:	89 45 d8             	mov    %eax,-0x28(%ebp)
41ccaf:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
41ccb2:	75 18                	jne    0x41cccc
41ccb4:	8b 0d b0 55 40 00    	mov    0x4055b0,%ecx
41ccba:	8b 15 b4 55 40 00    	mov    0x4055b4,%edx
41ccc0:	eb 16                	jmp    0x41ccd8
41ccc2:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
41ccc7:	e9 e9 00 00 00       	jmp    0x41cdb5
41cccc:	8b 0d c8 55 40 00    	mov    0x4055c8,%ecx
41ccd2:	8b 15 cc 55 40 00    	mov    0x4055cc,%edx
41ccd8:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41ccdb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41ccde:	51                   	push   %ecx
41ccdf:	50                   	push   %eax
41cce0:	8d 45 e0             	lea    -0x20(%ebp),%eax
41cce3:	89 55 f4             	mov    %edx,-0xc(%ebp)
41cce6:	50                   	push   %eax
41cce7:	51                   	push   %ecx
41cce8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41cceb:	e8 aa f8 ff ff       	call   0x41c59a
41ccf0:	8b 45 e0             	mov    -0x20(%ebp),%eax
41ccf3:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41ccf6:	89 45 d0             	mov    %eax,-0x30(%ebp)
41ccf9:	8d 4b 10             	lea    0x10(%ebx),%ecx
41ccfc:	89 5f 14             	mov    %ebx,0x14(%edi)
41ccff:	89 4f 18             	mov    %ecx,0x18(%edi)
41cd02:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
41cd06:	6b c0 0c             	imul   $0xc,%eax,%eax
41cd09:	03 c1                	add    %ecx,%eax
41cd0b:	89 47 1c             	mov    %eax,0x1c(%edi)
41cd0e:	33 c0                	xor    %eax,%eax
41cd10:	39 45 d0             	cmp    %eax,-0x30(%ebp)
41cd13:	0f 95 c0             	setne  %al
41cd16:	89 47 20             	mov    %eax,0x20(%edi)
41cd19:	80 3b 02             	cmpb   $0x2,(%ebx)
41cd1c:	75 5a                	jne    0x41cd78
41cd1e:	80 7b 01 02          	cmpb   $0x2,0x1(%ebx)
41cd22:	73 54                	jae    0x41cd78
41cd24:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
41cd28:	6b d0 0c             	imul   $0xc,%eax,%edx
41cd2b:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
41cd2f:	c1 e0 04             	shl    $0x4,%eax
41cd32:	03 d0                	add    %eax,%edx
41cd34:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
41cd38:	03 d0                	add    %eax,%edx
41cd3a:	c7 47 10 01 00 00 00 	movl   $0x1,0x10(%edi)
41cd41:	eb 35                	jmp    0x41cd78
41cd43:	6a 10                	push   $0x10
41cd45:	59                   	pop    %ecx
41cd46:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41cd49:	33 c0                	xor    %eax,%eax
41cd4b:	8b fb                	mov    %ebx,%edi
41cd4d:	ab                   	stos   %eax,%es:(%edi)
41cd4e:	ab                   	stos   %eax,%es:(%edi)
41cd4f:	ab                   	stos   %eax,%es:(%edi)
41cd50:	ab                   	stos   %eax,%es:(%edi)
41cd51:	8b 7d f4             	mov    -0xc(%ebp),%edi
41cd54:	66 89 4b 02          	mov    %cx,0x2(%ebx)
41cd58:	66 c7 03 02 02       	movw   $0x202,(%ebx)
41cd5d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41cd60:	89 5f 14             	mov    %ebx,0x14(%edi)
41cd63:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
41cd67:	03 cb                	add    %ebx,%ecx
41cd69:	89 4f 18             	mov    %ecx,0x18(%edi)
41cd6c:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
41cd70:	6b c0 0c             	imul   $0xc,%eax,%eax
41cd73:	03 c1                	add    %ecx,%eax
41cd75:	89 47 1c             	mov    %eax,0x1c(%edi)
41cd78:	8b 4d dc             	mov    -0x24(%ebp),%ecx
41cd7b:	89 5f 24             	mov    %ebx,0x24(%edi)
41cd7e:	89 57 28             	mov    %edx,0x28(%edi)
41cd81:	85 c9                	test   %ecx,%ecx
41cd83:	75 05                	jne    0x41cd8a
41cd85:	be c8 00 00 00       	mov    $0xc8,%esi
41cd8a:	33 c0                	xor    %eax,%eax
41cd8c:	89 77 2c             	mov    %esi,0x2c(%edi)
41cd8f:	3b d9                	cmp    %ecx,%ebx
41cd91:	0f 94 c0             	sete   %al
41cd94:	89 47 30             	mov    %eax,0x30(%edi)
41cd97:	33 c0                	xor    %eax,%eax
41cd99:	eb 1a                	jmp    0x41cdb5
41cd9b:	8b 45 dc             	mov    -0x24(%ebp),%eax
41cd9e:	85 c0                	test   %eax,%eax
41cda0:	74 10                	je     0x41cdb2
41cda2:	50                   	push   %eax
41cda3:	6a 00                	push   $0x0
41cda5:	ff 15 24 a1 43 00    	call   *0x43a124
41cdab:	50                   	push   %eax
41cdac:	ff 15 20 a1 43 00    	call   *0x43a120
41cdb2:	8b 45 d8             	mov    -0x28(%ebp),%eax
41cdb5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41cdb8:	5f                   	pop    %edi
41cdb9:	5e                   	pop    %esi
41cdba:	33 cd                	xor    %ebp,%ecx
41cdbc:	5b                   	pop    %ebx
41cdbd:	e8 fe d9 ff ff       	call   0x41a7c0
41cdc2:	c9                   	leave
41cdc3:	c2 0c 00             	ret    $0xc
41cdc6:	8b ff                	mov    %edi,%edi
41cdc8:	55                   	push   %ebp
41cdc9:	8b ec                	mov    %esp,%ebp
41cdcb:	83 ec 20             	sub    $0x20,%esp
41cdce:	53                   	push   %ebx
41cdcf:	56                   	push   %esi
41cdd0:	8b f1                	mov    %ecx,%esi
41cdd2:	89 55 f8             	mov    %edx,-0x8(%ebp)
41cdd5:	57                   	push   %edi
41cdd6:	33 db                	xor    %ebx,%ebx
41cdd8:	89 75 fc             	mov    %esi,-0x4(%ebp)
41cddb:	6a 0c                	push   $0xc
41cddd:	8b 4e 14             	mov    0x14(%esi),%ecx
41cde0:	8b fb                	mov    %ebx,%edi
41cde2:	8b 46 18             	mov    0x18(%esi),%eax
41cde5:	8b d3                	mov    %ebx,%edx
41cde7:	89 45 ec             	mov    %eax,-0x14(%ebp)
41cdea:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41cded:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
41cdf1:	89 45 f0             	mov    %eax,-0x10(%ebp)
41cdf4:	59                   	pop    %ecx
41cdf5:	85 c0                	test   %eax,%eax
41cdf7:	74 44                	je     0x41ce3d
41cdf9:	8b 46 18             	mov    0x18(%esi),%eax
41cdfc:	8b 75 08             	mov    0x8(%ebp),%esi
41cdff:	39 30                	cmp    %esi,(%eax)
41ce01:	8b 75 fc             	mov    -0x4(%ebp),%esi
41ce04:	75 2f                	jne    0x41ce35
41ce06:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
41ce09:	74 19                	je     0x41ce24
41ce0b:	39 5e 20             	cmp    %ebx,0x20(%esi)
41ce0e:	74 14                	je     0x41ce24
41ce10:	f6 40 04 01          	testb  $0x1,0x4(%eax)
41ce14:	75 1f                	jne    0x41ce35
41ce16:	6b f2 0c             	imul   $0xc,%edx,%esi
41ce19:	8d 7d e0             	lea    -0x20(%ebp),%edi
41ce1c:	03 75 ec             	add    -0x14(%ebp),%esi
41ce1f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ce20:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ce21:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ce22:	eb 23                	jmp    0x41ce47
41ce24:	8b f0                	mov    %eax,%esi
41ce26:	8d 7d e0             	lea    -0x20(%ebp),%edi
41ce29:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ce2a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ce2b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ce2c:	33 ff                	xor    %edi,%edi
41ce2e:	47                   	inc    %edi
41ce2f:	f6 40 04 01          	testb  $0x1,0x4(%eax)
41ce33:	75 08                	jne    0x41ce3d
41ce35:	42                   	inc    %edx
41ce36:	03 c1                	add    %ecx,%eax
41ce38:	3b 55 f0             	cmp    -0x10(%ebp),%edx
41ce3b:	72 bf                	jb     0x41cdfc
41ce3d:	8b f3                	mov    %ebx,%esi
41ce3f:	85 ff                	test   %edi,%edi
41ce41:	0f 84 ae 00 00 00    	je     0x41cef5
41ce47:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
41ce4a:	74 08                	je     0x41ce54
41ce4c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ce4f:	39 58 20             	cmp    %ebx,0x20(%eax)
41ce52:	75 03                	jne    0x41ce57
41ce54:	6a 08                	push   $0x8
41ce56:	59                   	pop    %ecx
41ce57:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ce5a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41ce5d:	8b 04 01             	mov    (%ecx,%eax,1),%eax
41ce60:	a8 04                	test   $0x4,%al
41ce62:	74 09                	je     0x41ce6d
41ce64:	81 e2 ff cf ff ff    	and    $0xffffcfff,%edx
41ce6a:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41ce6d:	a8 02                	test   $0x2,%al
41ce6f:	74 09                	je     0x41ce7a
41ce71:	81 e2 ff f3 ff ff    	and    $0xfffff3ff,%edx
41ce77:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41ce7a:	a8 01                	test   $0x1,%al
41ce7c:	74 09                	je     0x41ce87
41ce7e:	81 e2 ff fc ff ff    	and    $0xfffffcff,%edx
41ce84:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41ce87:	a8 08                	test   $0x8,%al
41ce89:	74 10                	je     0x41ce9b
41ce8b:	81 e2 ff ff ff c0    	and    $0xc0ffffff,%edx
41ce91:	8b fb                	mov    %ebx,%edi
41ce93:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41ce96:	89 7d e8             	mov    %edi,-0x18(%ebp)
41ce99:	eb 03                	jmp    0x41ce9e
41ce9b:	8b 7d e8             	mov    -0x18(%ebp),%edi
41ce9e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41cea1:	8b f3                	mov    %ebx,%esi
41cea3:	e8 74 fa ff ff       	call   0x41c91c
41cea8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41ceab:	85 c0                	test   %eax,%eax
41cead:	74 49                	je     0x41cef8
41ceaf:	8b c2                	mov    %edx,%eax
41ceb1:	89 79 0c             	mov    %edi,0xc(%ecx)
41ceb4:	c1 e8 1e             	shr    $0x1e,%eax
41ceb7:	89 41 08             	mov    %eax,0x8(%ecx)
41ceba:	8b c2                	mov    %edx,%eax
41cebc:	c1 e8 18             	shr    $0x18,%eax
41cebf:	24 3f                	and    $0x3f,%al
41cec1:	88 41 04             	mov    %al,0x4(%ecx)
41cec4:	8b c2                	mov    %edx,%eax
41cec6:	d1 e8                	shr    $1,%eax
41cec8:	83 e0 01             	and    $0x1,%eax
41cecb:	89 41 14             	mov    %eax,0x14(%ecx)
41cece:	8b c2                	mov    %edx,%eax
41ced0:	c1 e8 0c             	shr    $0xc,%eax
41ced3:	83 e0 03             	and    $0x3,%eax
41ced6:	75 0a                	jne    0x41cee2
41ced8:	8b c2                	mov    %edx,%eax
41ceda:	c1 e8 0a             	shr    $0xa,%eax
41cedd:	83 e0 03             	and    $0x3,%eax
41cee0:	74 04                	je     0x41cee6
41cee2:	89 01                	mov    %eax,(%ecx)
41cee4:	eb 0a                	jmp    0x41cef0
41cee6:	c1 ea 08             	shr    $0x8,%edx
41cee9:	83 e2 03             	and    $0x3,%edx
41ceec:	74 02                	je     0x41cef0
41ceee:	89 11                	mov    %edx,(%ecx)
41cef0:	33 f6                	xor    %esi,%esi
41cef2:	46                   	inc    %esi
41cef3:	eb 03                	jmp    0x41cef8
41cef5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41cef8:	8b 7d f4             	mov    -0xc(%ebp),%edi
41cefb:	8b d3                	mov    %ebx,%edx
41cefd:	8b 45 fc             	mov    -0x4(%ebp),%eax
41cf00:	0f b7 7f 06          	movzwl 0x6(%edi),%edi
41cf04:	8b 40 1c             	mov    0x1c(%eax),%eax
41cf07:	85 ff                	test   %edi,%edi
41cf09:	74 17                	je     0x41cf22
41cf0b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41cf0e:	39 08                	cmp    %ecx,(%eax)
41cf10:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41cf13:	74 0a                	je     0x41cf1f
41cf15:	42                   	inc    %edx
41cf16:	83 c0 10             	add    $0x10,%eax
41cf19:	3b d7                	cmp    %edi,%edx
41cf1b:	72 ee                	jb     0x41cf0b
41cf1d:	eb 03                	jmp    0x41cf22
41cf1f:	33 db                	xor    %ebx,%ebx
41cf21:	43                   	inc    %ebx
41cf22:	5f                   	pop    %edi
41cf23:	8b c6                	mov    %esi,%eax
41cf25:	89 59 10             	mov    %ebx,0x10(%ecx)
41cf28:	5e                   	pop    %esi
41cf29:	5b                   	pop    %ebx
41cf2a:	c9                   	leave
41cf2b:	c2 08 00             	ret    $0x8
41cf2e:	8b ff                	mov    %edi,%edi
41cf30:	56                   	push   %esi
41cf31:	8b 31                	mov    (%ecx),%esi
41cf33:	57                   	push   %edi
41cf34:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
41cf39:	3b f7                	cmp    %edi,%esi
41cf3b:	74 1a                	je     0x41cf57
41cf3d:	8d 56 01             	lea    0x1(%esi),%edx
41cf40:	8b c6                	mov    %esi,%eax
41cf42:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)