41ad78:	e8 23 8f fe ff       	call   0x403ca0
41ad7d:	c7 06 78 f8 43 00    	movl   $0x43f878,(%esi)
41ad83:	8b c6                	mov    %esi,%eax
41ad85:	5e                   	pop    %esi
41ad86:	c9                   	leave
41ad87:	c2 04 00             	ret    $0x4
41ad8a:	cc                   	int3
41ad8b:	cc                   	int3
41ad8c:	cc                   	int3
41ad8d:	cc                   	int3
41ad8e:	cc                   	int3
41ad8f:	cc                   	int3
41ad90:	55                   	push   %ebp
41ad91:	8b ec                	mov    %esp,%ebp
41ad93:	56                   	push   %esi
41ad94:	ff 75 08             	push   0x8(%ebp)
41ad97:	8b f1                	mov    %ecx,%esi
41ad99:	e8 b2 63 fe ff       	call   0x401150
41ad9e:	c7 06 84 f8 43 00    	movl   $0x43f884,(%esi)
41ada4:	8b c6                	mov    %esi,%eax
41ada6:	5e                   	pop    %esi
41ada7:	5d                   	pop    %ebp
41ada8:	c2 04 00             	ret    $0x4
41adab:	55                   	push   %ebp
41adac:	8b ec                	mov    %esp,%ebp
41adae:	51                   	push   %ecx
41adaf:	56                   	push   %esi
41adb0:	ff 75 08             	push   0x8(%ebp)
41adb3:	8b f1                	mov    %ecx,%esi
41adb5:	89 75 fc             	mov    %esi,-0x4(%ebp)
41adb8:	e8 e3 8e fe ff       	call   0x403ca0
41adbd:	c7 06 84 f8 43 00    	movl   $0x43f884,(%esi)
41adc3:	8b c6                	mov    %esi,%eax
41adc5:	5e                   	pop    %esi
41adc6:	c9                   	leave
41adc7:	c2 04 00             	ret    $0x4
41adca:	55                   	push   %ebp
41adcb:	8b ec                	mov    %esp,%ebp
41adcd:	51                   	push   %ecx
41adce:	56                   	push   %esi
41adcf:	ff 75 08             	push   0x8(%ebp)
41add2:	8b f1                	mov    %ecx,%esi
41add4:	89 75 fc             	mov    %esi,-0x4(%ebp)
41add7:	e8 c4 8e fe ff       	call   0x403ca0
41addc:	c7 06 90 f8 43 00    	movl   $0x43f890,(%esi)
41ade2:	8b c6                	mov    %esi,%eax
41ade4:	5e                   	pop    %esi
41ade5:	c9                   	leave
41ade6:	c2 04 00             	ret    $0x4
41ade9:	cc                   	int3
41adea:	cc                   	int3
41adeb:	cc                   	int3
41adec:	cc                   	int3
41aded:	cc                   	int3
41adee:	cc                   	int3
41adef:	cc                   	int3
41adf0:	55                   	push   %ebp
41adf1:	8b ec                	mov    %esp,%ebp
41adf3:	56                   	push   %esi
41adf4:	8b f1                	mov    %ecx,%esi
41adf6:	8d 46 04             	lea    0x4(%esi),%eax
41adf9:	c7 06 44 f8 43 00    	movl   $0x43f844,(%esi)
41adff:	50                   	push   %eax
41ae00:	e8 69 21 00 00       	call   0x41cf6e
41ae05:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41ae09:	59                   	pop    %ecx
41ae0a:	74 0a                	je     0x41ae16
41ae0c:	6a 0c                	push   $0xc
41ae0e:	56                   	push   %esi
41ae0f:	e8 fa 0a 00 00       	call   0x41b90e
41ae14:	59                   	pop    %ecx
41ae15:	59                   	pop    %ecx
41ae16:	8b c6                	mov    %esi,%eax
41ae18:	5e                   	pop    %esi
41ae19:	5d                   	pop    %ebp
41ae1a:	c2 04 00             	ret    $0x4
41ae1d:	55                   	push   %ebp
41ae1e:	8b ec                	mov    %esp,%ebp
41ae20:	83 ec 0c             	sub    $0xc,%esp
41ae23:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41ae26:	e8 09 ff ff ff       	call   0x41ad34
41ae2b:	68 fc 1f 45 00       	push   $0x451ffc
41ae30:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ae33:	50                   	push   %eax
41ae34:	e8 a5 25 00 00       	call   0x41d3de
41ae39:	cc                   	int3
41ae3a:	55                   	push   %ebp
41ae3b:	8b ec                	mov    %esp,%ebp
41ae3d:	83 ec 0c             	sub    $0xc,%esp
41ae40:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41ae43:	ff 75 08             	push   0x8(%ebp)
41ae46:	e8 20 ff ff ff       	call   0x41ad6b
41ae4b:	68 34 20 45 00       	push   $0x452034
41ae50:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ae53:	50                   	push   %eax
41ae54:	e8 85 25 00 00       	call   0x41d3de
41ae59:	cc                   	int3
41ae5a:	55                   	push   %ebp
41ae5b:	8b ec                	mov    %esp,%ebp
41ae5d:	83 ec 0c             	sub    $0xc,%esp
41ae60:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41ae63:	ff 75 08             	push   0x8(%ebp)
41ae66:	e8 40 ff ff ff       	call   0x41adab
41ae6b:	68 70 20 45 00       	push   $0x452070
41ae70:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ae73:	50                   	push   %eax
41ae74:	e8 65 25 00 00       	call   0x41d3de
41ae79:	cc                   	int3
41ae7a:	55                   	push   %ebp
41ae7b:	8b ec                	mov    %esp,%ebp
41ae7d:	83 ec 0c             	sub    $0xc,%esp
41ae80:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41ae83:	ff 75 08             	push   0x8(%ebp)
41ae86:	e8 3f ff ff ff       	call   0x41adca
41ae8b:	68 ac 20 45 00       	push   $0x4520ac
41ae90:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ae93:	50                   	push   %eax
41ae94:	e8 45 25 00 00       	call   0x41d3de
41ae99:	cc                   	int3
41ae9a:	55                   	push   %ebp
41ae9b:	8b ec                	mov    %esp,%ebp
41ae9d:	51                   	push   %ecx
41ae9e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41aea2:	75 04                	jne    0x41aea8
41aea4:	33 c0                	xor    %eax,%eax
41aea6:	c9                   	leave
41aea7:	c3                   	ret
41aea8:	53                   	push   %ebx
41aea9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41aeac:	8a 13                	mov    (%ebx),%dl
41aeae:	84 d2                	test   %dl,%dl
41aeb0:	75 0f                	jne    0x41aec1
41aeb2:	8b 45 08             	mov    0x8(%ebp),%eax
41aeb5:	33 c9                	xor    %ecx,%ecx
41aeb7:	66 89 08             	mov    %cx,(%eax)
41aeba:	33 c0                	xor    %eax,%eax
41aebc:	e9 08 01 00 00       	jmp    0x41afc9
41aec1:	56                   	push   %esi
41aec2:	57                   	push   %edi
41aec3:	8b 7d 18             	mov    0x18(%ebp),%edi
41aec6:	88 55 fc             	mov    %dl,-0x4(%ebp)
41aec9:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
41aecd:	0f 85 e8 00 00 00    	jne    0x41afbb
41aed3:	8b 47 04             	mov    0x4(%edi),%eax
41aed6:	83 e8 01             	sub    $0x1,%eax
41aed9:	0f 84 b5 00 00 00    	je     0x41af94
41aedf:	83 e8 01             	sub    $0x1,%eax
41aee2:	74 6d                	je     0x41af51
41aee4:	48                   	dec    %eax
41aee5:	83 e8 01             	sub    $0x1,%eax
41aee8:	0f 85 a6 00 00 00    	jne    0x41af94
41aeee:	ff 75 fc             	push   -0x4(%ebp)
41aef1:	8d 45 fc             	lea    -0x4(%ebp),%eax
41aef4:	50                   	push   %eax
41aef5:	e8 d2 00 00 00       	call   0x41afcc
41aefa:	59                   	pop    %ecx
41aefb:	59                   	pop    %ecx
41aefc:	8b c8                	mov    %eax,%ecx
41aefe:	85 c9                	test   %ecx,%ecx
41af00:	0f 84 b5 00 00 00    	je     0x41afbb
41af06:	83 f9 02             	cmp    $0x2,%ecx
41af09:	0f 8f 9c 00 00 00    	jg     0x41afab
41af0f:	8b 55 fc             	mov    -0x4(%ebp),%edx
41af12:	33 f6                	xor    %esi,%esi
41af14:	46                   	inc    %esi
41af15:	3b 75 10             	cmp    0x10(%ebp),%esi
41af18:	73 54                	jae    0x41af6e
41af1a:	8a 24 1e             	mov    (%esi,%ebx,1),%ah
41af1d:	8a c4                	mov    %ah,%al
41af1f:	24 c0                	and    $0xc0,%al
41af21:	3c 80                	cmp    $0x80,%al
41af23:	0f 85 82 00 00 00    	jne    0x41afab
41af29:	0f b6 c4             	movzbl %ah,%eax
41af2c:	83 e0 3f             	and    $0x3f,%eax
41af2f:	c1 e2 06             	shl    $0x6,%edx
41af32:	0b d0                	or     %eax,%edx
41af34:	46                   	inc    %esi
41af35:	83 e9 01             	sub    $0x1,%ecx
41af38:	75 db                	jne    0x41af15
41af3a:	8d 82 00 28 ff ff    	lea    -0xd800(%edx),%eax
41af40:	3d ff 07 00 00       	cmp    $0x7ff,%eax
41af45:	76 64                	jbe    0x41afab
41af47:	8b 4d 08             	mov    0x8(%ebp),%ecx
41af4a:	66 89 11             	mov    %dx,(%ecx)
41af4d:	8b c6                	mov    %esi,%eax
41af4f:	eb 76                	jmp    0x41afc7
41af51:	0f b6 d2             	movzbl %dl,%edx
41af54:	33 f6                	xor    %esi,%esi
41af56:	8b ca                	mov    %edx,%ecx
41af58:	46                   	inc    %esi
41af59:	83 e1 07             	and    $0x7,%ecx
41af5c:	c1 ea 03             	shr    $0x3,%edx
41af5f:	8b c6                	mov    %esi,%eax
41af61:	d3 e0                	shl    %cl,%eax
41af63:	84 44 3a 0c          	test   %al,0xc(%edx,%edi,1)
41af67:	74 0f                	je     0x41af78
41af69:	39 75 10             	cmp    %esi,0x10(%ebp)
41af6c:	75 05                	jne    0x41af73
41af6e:	6a fe                	push   $0xfffffffe
41af70:	58                   	pop    %eax
41af71:	eb 54                	jmp    0x41afc7
41af73:	6a 02                	push   $0x2
41af75:	5b                   	pop    %ebx
41af76:	eb 02                	jmp    0x41af7a
41af78:	8b de                	mov    %esi,%ebx
41af7a:	56                   	push   %esi
41af7b:	ff 75 08             	push   0x8(%ebp)
41af7e:	53                   	push   %ebx
41af7f:	ff 75 0c             	push   0xc(%ebp)
41af82:	6a 09                	push   $0x9
41af84:	ff 37                	push   (%edi)
41af86:	ff 15 b0 f0 43 00    	call   *0x43f0b0
41af8c:	85 c0                	test   %eax,%eax
41af8e:	74 1b                	je     0x41afab
41af90:	8b c3                	mov    %ebx,%eax
41af92:	eb 33                	jmp    0x41afc7
41af94:	33 f6                	xor    %esi,%esi
41af96:	46                   	inc    %esi
41af97:	56                   	push   %esi
41af98:	ff 75 08             	push   0x8(%ebp)
41af9b:	56                   	push   %esi
41af9c:	53                   	push   %ebx
41af9d:	6a 09                	push   $0x9
41af9f:	ff 37                	push   (%edi)
41afa1:	ff 15 b0 f0 43 00    	call   *0x43f0b0
41afa7:	85 c0                	test   %eax,%eax
41afa9:	75 a2                	jne    0x41af4d
41afab:	e8 90 b6 00 00       	call   0x426640
41afb0:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41afb6:	83 c8 ff             	or     $0xffffffff,%eax
41afb9:	eb 0c                	jmp    0x41afc7
41afbb:	8b 45 08             	mov    0x8(%ebp),%eax
41afbe:	0f b6 ca             	movzbl %dl,%ecx
41afc1:	66 89 08             	mov    %cx,(%eax)
41afc4:	33 c0                	xor    %eax,%eax
41afc6:	40                   	inc    %eax
41afc7:	5f                   	pop    %edi
41afc8:	5e                   	pop    %esi
41afc9:	5b                   	pop    %ebx
41afca:	c9                   	leave
41afcb:	c3                   	ret
41afcc:	55                   	push   %ebp
41afcd:	8b ec                	mov    %esp,%ebp
41afcf:	8a 4d 0c             	mov    0xc(%ebp),%cl
41afd2:	84 c9                	test   %cl,%cl
41afd4:	78 04                	js     0x41afda
41afd6:	33 c0                	xor    %eax,%eax
41afd8:	5d                   	pop    %ebp
41afd9:	c3                   	ret
41afda:	8a c1                	mov    %cl,%al
41afdc:	24 e0                	and    $0xe0,%al
41afde:	3c c0                	cmp    $0xc0,%al
41afe0:	75 10                	jne    0x41aff2
41afe2:	8b 45 08             	mov    0x8(%ebp),%eax
41afe5:	0f b6 c9             	movzbl %cl,%ecx
41afe8:	83 e1 1f             	and    $0x1f,%ecx
41afeb:	89 08                	mov    %ecx,(%eax)
41afed:	33 c0                	xor    %eax,%eax
41afef:	40                   	inc    %eax
41aff0:	5d                   	pop    %ebp
41aff1:	c3                   	ret
41aff2:	8a c1                	mov    %cl,%al
41aff4:	24 f0                	and    $0xf0,%al
41aff6:	3c e0                	cmp    $0xe0,%al
41aff8:	75 10                	jne    0x41b00a
41affa:	0f b6 c9             	movzbl %cl,%ecx
41affd:	83 e1 0f             	and    $0xf,%ecx
41b000:	6a 02                	push   $0x2
41b002:	8b 45 08             	mov    0x8(%ebp),%eax
41b005:	89 08                	mov    %ecx,(%eax)
41b007:	58                   	pop    %eax
41b008:	5d                   	pop    %ebp
41b009:	c3                   	ret
41b00a:	8a c1                	mov    %cl,%al
41b00c:	24 f8                	and    $0xf8,%al
41b00e:	3c f0                	cmp    $0xf0,%al
41b010:	75 0a                	jne    0x41b01c
41b012:	0f b6 c9             	movzbl %cl,%ecx
41b015:	83 e1 07             	and    $0x7,%ecx
41b018:	6a 03                	push   $0x3
41b01a:	eb e6                	jmp    0x41b002
41b01c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41b021:	5d                   	pop    %ebp
41b022:	c3                   	ret
41b023:	33 c0                	xor    %eax,%eax
41b025:	57                   	push   %edi
41b026:	8b f9                	mov    %ecx,%edi
41b028:	40                   	inc    %eax
41b029:	f0 0f c1 05 00 40 45 	lock xadd %eax,0x454000
41b030:	00
41b031:	75 19                	jne    0x41b04c
41b033:	56                   	push   %esi
41b034:	be f8 52 45 00       	mov    $0x4552f8,%esi
41b039:	56                   	push   %esi
41b03a:	e8 6e 07 00 00       	call   0x41b7ad
41b03f:	83 c6 18             	add    $0x18,%esi
41b042:	59                   	pop    %ecx
41b043:	81 fe b8 53 45 00    	cmp    $0x4553b8,%esi
41b049:	75 ee                	jne    0x41b039
41b04b:	5e                   	pop    %esi
41b04c:	8b c7                	mov    %edi,%eax
41b04e:	5f                   	pop    %edi
41b04f:	c3                   	ret
41b050:	55                   	push   %ebp
41b051:	8b ec                	mov    %esp,%ebp
41b053:	8b 45 08             	mov    0x8(%ebp),%eax
41b056:	56                   	push   %esi
41b057:	8b f1                	mov    %ecx,%esi
41b059:	89 06                	mov    %eax,(%esi)
41b05b:	85 c0                	test   %eax,%eax
41b05d:	75 07                	jne    0x41b066
41b05f:	e8 c4 d4 00 00       	call   0x428528
41b064:	eb 14                	jmp    0x41b07a
41b066:	83 f8 08             	cmp    $0x8,%eax
41b069:	7d 0f                	jge    0x41b07a
41b06b:	6b c0 18             	imul   $0x18,%eax,%eax
41b06e:	05 f8 52 45 00       	add    $0x4552f8,%eax
41b073:	50                   	push   %eax
41b074:	e8 49 07 00 00       	call   0x41b7c2
41b079:	59                   	pop    %ecx
41b07a:	8b c6                	mov    %esi,%eax
41b07c:	5e                   	pop    %esi
41b07d:	5d                   	pop    %ebp
41b07e:	c2 04 00             	ret    $0x4
41b081:	83 c8 ff             	or     $0xffffffff,%eax
41b084:	f0 0f c1 05 00 40 45 	lock xadd %eax,0x454000
41b08b:	00
41b08c:	79 19                	jns    0x41b0a7
41b08e:	56                   	push   %esi
41b08f:	be f8 52 45 00       	mov    $0x4552f8,%esi
41b094:	56                   	push   %esi
41b095:	e8 05 07 00 00       	call   0x41b79f
41b09a:	83 c6 18             	add    $0x18,%esi
41b09d:	59                   	pop    %ecx
41b09e:	81 fe b8 53 45 00    	cmp    $0x4553b8,%esi
41b0a4:	75 ee                	jne    0x41b094
41b0a6:	5e                   	pop    %esi
41b0a7:	c3                   	ret
41b0a8:	8b 01                	mov    (%ecx),%eax
41b0aa:	85 c0                	test   %eax,%eax
41b0ac:	0f 84 84 d4 00 00    	je     0x428536
41b0b2:	83 f8 08             	cmp    $0x8,%eax
41b0b5:	7d 0f                	jge    0x41b0c6
41b0b7:	6b c0 18             	imul   $0x18,%eax,%eax
41b0ba:	05 f8 52 45 00       	add    $0x4552f8,%eax
41b0bf:	50                   	push   %eax
41b0c0:	e8 0b 07 00 00       	call   0x41b7d0
41b0c5:	59                   	pop    %ecx
41b0c6:	c3                   	ret
41b0c7:	55                   	push   %ebp