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)
41cf46:	3b c6                	cmp    %esi,%eax
41cf48:	74 06                	je     0x41cf50
41cf4a:	8b 31                	mov    (%ecx),%esi
41cf4c:	3b f7                	cmp    %edi,%esi
41cf4e:	75 ed                	jne    0x41cf3d
41cf50:	8d 46 01             	lea    0x1(%esi),%eax
41cf53:	3b f7                	cmp    %edi,%esi
41cf55:	75 02                	jne    0x41cf59
41cf57:	8b c7                	mov    %edi,%eax
41cf59:	5f                   	pop    %edi
41cf5a:	5e                   	pop    %esi
41cf5b:	c3                   	ret
41cf5c:	6a 10                	push   $0x10
41cf5e:	b8 7e f5 41 00       	mov    $0x41f57e,%eax
41cf63:	e8 a6 de ff ff       	call   0x41ae0e
41cf68:	8b d9                	mov    %ecx,%ebx
41cf6a:	8b 7d 08             	mov    0x8(%ebp),%edi
41cf6d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41cf70:	33 f6                	xor    %esi,%esi
41cf72:	8b cf                	mov    %edi,%ecx
41cf74:	ff 77 0c             	push   0xc(%edi)
41cf77:	56                   	push   %esi
41cf78:	50                   	push   %eax
41cf79:	e8 9d f0 fe ff       	call   0x40c01b
41cf7e:	8b 0b                	mov    (%ebx),%ecx
41cf80:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41cf83:	50                   	push   %eax
41cf84:	e8 a2 0e ff ff       	call   0x40de2b
41cf89:	39 30                	cmp    %esi,(%eax)
41cf8b:	74 04                	je     0x41cf91
41cf8d:	33 c0                	xor    %eax,%eax
41cf8f:	eb 77                	jmp    0x41d008
41cf91:	68 fc 4b 40 00       	push   $0x404bfc
41cf96:	68 84 00 00 00       	push   $0x84
41cf9b:	e8 db dd ff ff       	call   0x41ad7b
41cfa0:	59                   	pop    %ecx
41cfa1:	59                   	pop    %ecx
41cfa2:	89 45 f0             	mov    %eax,-0x10(%ebp)
41cfa5:	89 75 fc             	mov    %esi,-0x4(%ebp)
41cfa8:	85 c0                	test   %eax,%eax
41cfaa:	74 0d                	je     0x41cfb9
41cfac:	ff 75 0c             	push   0xc(%ebp)
41cfaf:	8b c8                	mov    %eax,%ecx
41cfb1:	57                   	push   %edi
41cfb2:	e8 9a 16 ff ff       	call   0x40e651
41cfb7:	eb 02                	jmp    0x41cfbb
41cfb9:	8b c6                	mov    %esi,%eax
41cfbb:	89 45 f0             	mov    %eax,-0x10(%ebp)
41cfbe:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41cfc5:	85 c0                	test   %eax,%eax
41cfc7:	75 07                	jne    0x41cfd0
41cfc9:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41cfce:	eb 12                	jmp    0x41cfe2
41cfd0:	8b 0b                	mov    (%ebx),%ecx
41cfd2:	50                   	push   %eax
41cfd3:	50                   	push   %eax
41cfd4:	e8 b3 0d ff ff       	call   0x40dd8c
41cfd9:	85 c0                	test   %eax,%eax
41cfdb:	75 1d                	jne    0x41cffa
41cfdd:	be ff ff 00 80       	mov    $0x8000ffff,%esi
41cfe2:	8b 4d 04             	mov    0x4(%ebp),%ecx
41cfe5:	ba 32 01 00 00       	mov    $0x132,%edx
41cfea:	56                   	push   %esi
41cfeb:	68 90 56 40 00       	push   $0x405690
41cff0:	e8 15 f1 00 00       	call   0x42c10a
41cff5:	8b 45 f0             	mov    -0x10(%ebp),%eax
41cff8:	eb 02                	jmp    0x41cffc
41cffa:	8b c6                	mov    %esi,%eax
41cffc:	85 c0                	test   %eax,%eax
41cffe:	74 06                	je     0x41d006
41d000:	50                   	push   %eax
41d001:	e8 4e 2e 01 00       	call   0x42fe54
41d006:	8b c6                	mov    %esi,%eax
41d008:	e8 cf dd ff ff       	call   0x41addc
41d00d:	c2 08 00             	ret    $0x8
41d010:	8b ff                	mov    %edi,%edi
41d012:	55                   	push   %ebp
41d013:	8b ec                	mov    %esp,%ebp
41d015:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41d019:	56                   	push   %esi
41d01a:	8b f1                	mov    %ecx,%esi
41d01c:	c7 06 1c 19 40 00    	movl   $0x40191c,(%esi)
41d022:	74 07                	je     0x41d02b
41d024:	56                   	push   %esi
41d025:	e8 9b e6 ff ff       	call   0x41b6c5
41d02a:	59                   	pop    %ecx
41d02b:	8b c6                	mov    %esi,%eax
41d02d:	5e                   	pop    %esi
41d02e:	5d                   	pop    %ebp
41d02f:	c2 04 00             	ret    $0x4
41d032:	cc                   	int3
41d033:	cc                   	int3
41d034:	cc                   	int3
41d035:	cc                   	int3
41d036:	cc                   	int3
41d037:	cc                   	int3
41d038:	cc                   	int3
41d039:	cc                   	int3
41d03a:	cc                   	int3
41d03b:	cc                   	int3
41d03c:	cc                   	int3
41d03d:	cc                   	int3
41d03e:	cc                   	int3
41d03f:	cc                   	int3
41d040:	8b ff                	mov    %edi,%edi
41d042:	55                   	push   %ebp
41d043:	8b ec                	mov    %esp,%ebp
41d045:	8b 45 08             	mov    0x8(%ebp),%eax
41d048:	56                   	push   %esi
41d049:	8b f1                	mov    %ecx,%esi
41d04b:	85 c0                	test   %eax,%eax
41d04d:	75 0c                	jne    0x41d05b
41d04f:	6a 0c                	push   $0xc
41d051:	e8 b9 0d ff ff       	call   0x40de0f
41d056:	59                   	pop    %ecx
41d057:	85 c0                	test   %eax,%eax
41d059:	74 11                	je     0x41d06c
41d05b:	c7 00 38 19 40 00    	movl   $0x401938,(%eax)
41d061:	8b 4e 04             	mov    0x4(%esi),%ecx
41d064:	89 48 04             	mov    %ecx,0x4(%eax)
41d067:	5e                   	pop    %esi
41d068:	5d                   	pop    %ebp
41d069:	c2 04 00             	ret    $0x4
41d06c:	e8 60 d3 ff ff       	call   0x41a3d1
41d071:	cc                   	int3
41d072:	cc                   	int3
41d073:	cc                   	int3
41d074:	cc                   	int3
41d075:	cc                   	int3
41d076:	cc                   	int3
41d077:	cc                   	int3
41d078:	cc                   	int3
41d079:	cc                   	int3
41d07a:	cc                   	int3
41d07b:	cc                   	int3
41d07c:	cc                   	int3
41d07d:	cc                   	int3
41d07e:	cc                   	int3
41d07f:	cc                   	int3
41d080:	8b ff                	mov    %edi,%edi
41d082:	55                   	push   %ebp
41d083:	8b ec                	mov    %esp,%ebp
41d085:	56                   	push   %esi
41d086:	57                   	push   %edi
41d087:	8b f9                	mov    %ecx,%edi
41d089:	6a 00                	push   $0x0
41d08b:	8b 07                	mov    (%edi),%eax
41d08d:	8b 70 14             	mov    0x14(%eax),%esi
41d090:	8b ce                	mov    %esi,%ecx
41d092:	ff 15 20 a5 43 00    	call   *0x43a520
41d098:	8b cf                	mov    %edi,%ecx
41d09a:	ff d6                	call   *%esi
41d09c:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41d0a0:	74 07                	je     0x41d0a9
41d0a2:	57                   	push   %edi
41d0a3:	e8 1d e6 ff ff       	call   0x41b6c5
41d0a8:	59                   	pop    %ecx
41d0a9:	5f                   	pop    %edi
41d0aa:	5e                   	pop    %esi
41d0ab:	5d                   	pop    %ebp
41d0ac:	c2 04 00             	ret    $0x4
41d0af:	cc                   	int3
41d0b0:	8b ff                	mov    %edi,%edi
41d0b2:	55                   	push   %ebp
41d0b3:	8b ec                	mov    %esp,%ebp
41d0b5:	83 c1 04             	add    $0x4,%ecx
41d0b8:	5d                   	pop    %ebp
41d0b9:	e9 9e fe ff ff       	jmp    0x41cf5c
41d0be:	cc                   	int3
41d0bf:	cc                   	int3
41d0c0:	b8 8c 84 43 00       	mov    $0x43848c,%eax
41d0c5:	c3                   	ret
41d0c6:	8b ff                	mov    %edi,%edi
41d0c8:	56                   	push   %esi
41d0c9:	8b f1                	mov    %ecx,%esi