4ac9f0:	89 44 24 18          	mov    %eax,0x18(%esp)
4ac9f4:	8b cc                	mov    %esp,%ecx
4ac9f6:	8b 37                	mov    (%edi),%esi
4ac9f8:	8d 44 24 14          	lea    0x14(%esp),%eax
4ac9fc:	50                   	push   %eax
4ac9fd:	e8 ae c6 f6 ff       	call   0x4190b0
4aca02:	ff 74 24 24          	push   0x24(%esp)
4aca06:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
4aca0c:	8b cf                	mov    %edi,%ecx
4aca0e:	ff 74 24 24          	push   0x24(%esp)
4aca12:	ff d0                	call   *%eax
4aca14:	5f                   	pop    %edi
4aca15:	5e                   	pop    %esi
4aca16:	83 c4 0c             	add    $0xc,%esp
4aca19:	c2 0c 00             	ret    $0xc
4aca1c:	cc                   	int3
4aca1d:	cc                   	int3
4aca1e:	cc                   	int3
4aca1f:	cc                   	int3
4aca20:	cc                   	int3
4aca21:	cc                   	int3
4aca22:	cc                   	int3
4aca23:	cc                   	int3
4aca24:	cc                   	int3
4aca25:	cc                   	int3
4aca26:	cc                   	int3
4aca27:	cc                   	int3
4aca28:	cc                   	int3
4aca29:	cc                   	int3
4aca2a:	cc                   	int3
4aca2b:	cc                   	int3
4aca2c:	cc                   	int3
4aca2d:	cc                   	int3
4aca2e:	cc                   	int3
4aca2f:	cc                   	int3
4aca30:	ff 74 24 0c          	push   0xc(%esp)
4aca34:	51                   	push   %ecx
4aca35:	8b c4                	mov    %esp,%eax
4aca37:	ff 74 24 10          	push   0x10(%esp)
4aca3b:	ff 74 24 10          	push   0x10(%esp)
4aca3f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4aca45:	8b 01                	mov    (%ecx),%eax
4aca47:	8b 80 cc 00 00 00    	mov    0xcc(%eax),%eax
4aca4d:	ff d0                	call   *%eax
4aca4f:	c2 0c 00             	ret    $0xc
4aca52:	cc                   	int3
4aca53:	cc                   	int3
4aca54:	cc                   	int3
4aca55:	cc                   	int3
4aca56:	cc                   	int3
4aca57:	cc                   	int3
4aca58:	cc                   	int3
4aca59:	cc                   	int3
4aca5a:	cc                   	int3
4aca5b:	cc                   	int3
4aca5c:	cc                   	int3
4aca5d:	cc                   	int3
4aca5e:	cc                   	int3
4aca5f:	cc                   	int3
4aca60:	83 ec 0c             	sub    $0xc,%esp
4aca63:	56                   	push   %esi
4aca64:	57                   	push   %edi
4aca65:	ff 74 24 20          	push   0x20(%esp)
4aca69:	8d 44 24 0c          	lea    0xc(%esp),%eax
4aca6d:	c7 44 24 0c 02 00 00 	movl   $0x2,0xc(%esp)
4aca74:	00
4aca75:	89 44 24 10          	mov    %eax,0x10(%esp)
4aca79:	8b f9                	mov    %ecx,%edi
4aca7b:	8d 44 24 10          	lea    0x10(%esp),%eax
4aca7f:	51                   	push   %ecx
4aca80:	89 44 24 18          	mov    %eax,0x18(%esp)
4aca84:	8b cc                	mov    %esp,%ecx
4aca86:	8b 37                	mov    (%edi),%esi
4aca88:	8d 44 24 14          	lea    0x14(%esp),%eax
4aca8c:	50                   	push   %eax
4aca8d:	e8 1e c6 f6 ff       	call   0x4190b0
4aca92:	ff 74 24 24          	push   0x24(%esp)
4aca96:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
4aca9c:	8b cf                	mov    %edi,%ecx
4aca9e:	ff 74 24 24          	push   0x24(%esp)
4acaa2:	ff d0                	call   *%eax
4acaa4:	5f                   	pop    %edi
4acaa5:	5e                   	pop    %esi
4acaa6:	83 c4 0c             	add    $0xc,%esp
4acaa9:	c2 0c 00             	ret    $0xc
4acaac:	cc                   	int3
4acaad:	cc                   	int3
4acaae:	cc                   	int3
4acaaf:	cc                   	int3
4acab0:	cc                   	int3
4acab1:	cc                   	int3
4acab2:	cc                   	int3
4acab3:	cc                   	int3
4acab4:	cc                   	int3
4acab5:	cc                   	int3
4acab6:	cc                   	int3
4acab7:	cc                   	int3
4acab8:	cc                   	int3
4acab9:	cc                   	int3
4acaba:	cc                   	int3
4acabb:	cc                   	int3
4acabc:	cc                   	int3
4acabd:	cc                   	int3
4acabe:	cc                   	int3
4acabf:	cc                   	int3
4acac0:	ff 74 24 0c          	push   0xc(%esp)
4acac4:	51                   	push   %ecx
4acac5:	8b c4                	mov    %esp,%eax
4acac7:	ff 74 24 10          	push   0x10(%esp)
4acacb:	ff 74 24 10          	push   0x10(%esp)
4acacf:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4acad5:	8b 01                	mov    (%ecx),%eax
4acad7:	8b 80 bc 00 00 00    	mov    0xbc(%eax),%eax
4acadd:	ff d0                	call   *%eax
4acadf:	c2 0c 00             	ret    $0xc
4acae2:	cc                   	int3
4acae3:	cc                   	int3
4acae4:	cc                   	int3
4acae5:	cc                   	int3
4acae6:	cc                   	int3
4acae7:	cc                   	int3
4acae8:	cc                   	int3
4acae9:	cc                   	int3
4acaea:	cc                   	int3
4acaeb:	cc                   	int3
4acaec:	cc                   	int3
4acaed:	cc                   	int3
4acaee:	cc                   	int3
4acaef:	cc                   	int3
4acaf0:	83 ec 0c             	sub    $0xc,%esp
4acaf3:	80 7c 24 18 00       	cmpb   $0x0,0x18(%esp)
4acaf8:	56                   	push   %esi
4acaf9:	8b f1                	mov    %ecx,%esi
4acafb:	74 2a                	je     0x4acb27
4acafd:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4acb01:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
4acb08:	00
4acb09:	89 44 24 08          	mov    %eax,0x8(%esp)
4acb0d:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4acb11:	8d 44 24 20          	lea    0x20(%esp),%eax
4acb15:	89 44 24 0c          	mov    %eax,0xc(%esp)
4acb19:	8d 44 24 08          	lea    0x8(%esp),%eax
4acb1d:	50                   	push   %eax
4acb1e:	e8 8d c5 f6 ff       	call   0x4190b0
4acb23:	8b 00                	mov    (%eax),%eax
4acb25:	eb 02                	jmp    0x4acb29
4acb27:	33 c0                	xor    %eax,%eax
4acb29:	ff 74 24 18          	push   0x18(%esp)
4acb2d:	8b 16                	mov    (%esi),%edx
4acb2f:	8b ce                	mov    %esi,%ecx
4acb31:	50                   	push   %eax
4acb32:	6a 37                	push   $0x37
4acb34:	ff 74 24 20          	push   0x20(%esp)
4acb38:	8b 82 bc 00 00 00    	mov    0xbc(%edx),%eax
4acb3e:	ff d0                	call   *%eax
4acb40:	5e                   	pop    %esi
4acb41:	83 c4 0c             	add    $0xc,%esp
4acb44:	c2 0c 00             	ret    $0xc
4acb47:	cc                   	int3
4acb48:	cc                   	int3
4acb49:	cc                   	int3
4acb4a:	cc                   	int3
4acb4b:	cc                   	int3
4acb4c:	cc                   	int3
4acb4d:	cc                   	int3
4acb4e:	cc                   	int3
4acb4f:	cc                   	int3
4acb50:	cc                   	int3
4acb51:	cc                   	int3
4acb52:	cc                   	int3
4acb53:	cc                   	int3
4acb54:	cc                   	int3
4acb55:	cc                   	int3
4acb56:	cc                   	int3
4acb57:	cc                   	int3
4acb58:	cc                   	int3
4acb59:	cc                   	int3
4acb5a:	cc                   	int3
4acb5b:	cc                   	int3
4acb5c:	cc                   	int3
4acb5d:	cc                   	int3
4acb5e:	cc                   	int3
4acb5f:	cc                   	int3
4acb60:	83 ec 0c             	sub    $0xc,%esp
4acb63:	56                   	push   %esi
4acb64:	8d 44 24 08          	lea    0x8(%esp),%eax
4acb68:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
4acb6f:	00
4acb70:	57                   	push   %edi
4acb71:	50                   	push   %eax
4acb72:	e8 01 e5 f5 ff       	call   0x40b078
4acb77:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4acb7b:	83 c4 04             	add    $0x4,%esp
4acb7e:	8b 08                	mov    (%eax),%ecx
4acb80:	89 0e                	mov    %ecx,(%esi)
4acb82:	8b 48 04             	mov    0x4(%eax),%ecx
4acb85:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4acb8b:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
4acb92:	8b 7c 24 10          	mov    0x10(%esp),%edi
4acb96:	89 4e 04             	mov    %ecx,0x4(%esi)
4acb99:	85 ff                	test   %edi,%edi
4acb9b:	74 2b                	je     0x4acbc8
4acb9d:	53                   	push   %ebx
4acb9e:	83 cb ff             	or     $0xffffffff,%ebx
4acba1:	8b c3                	mov    %ebx,%eax
4acba3:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
4acba8:	75 15                	jne    0x4acbbf
4acbaa:	8b 07                	mov    (%edi),%eax
4acbac:	8b cf                	mov    %edi,%ecx
4acbae:	ff 10                	call   *(%eax)
4acbb0:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
4acbb5:	4b                   	dec    %ebx
4acbb6:	75 07                	jne    0x4acbbf
4acbb8:	8b 17                	mov    (%edi),%edx
4acbba:	8b cf                	mov    %edi,%ecx
4acbbc:	ff 52 04             	call   *0x4(%edx)
4acbbf:	5b                   	pop    %ebx
4acbc0:	5f                   	pop    %edi
4acbc1:	8b c6                	mov    %esi,%eax
4acbc3:	5e                   	pop    %esi
4acbc4:	83 c4 0c             	add    $0xc,%esp
4acbc7:	c3                   	ret
4acbc8:	5f                   	pop    %edi
4acbc9:	8b c6                	mov    %esi,%eax
4acbcb:	5e                   	pop    %esi
4acbcc:	83 c4 0c             	add    $0xc,%esp
4acbcf:	c3                   	ret
4acbd0:	cc                   	int3
4acbd1:	cc                   	int3
4acbd2:	cc                   	int3
4acbd3:	cc                   	int3
4acbd4:	cc                   	int3
4acbd5:	cc                   	int3
4acbd6:	cc                   	int3
4acbd7:	cc                   	int3
4acbd8:	cc                   	int3
4acbd9:	cc                   	int3
4acbda:	cc                   	int3
4acbdb:	cc                   	int3
4acbdc:	cc                   	int3
4acbdd:	cc                   	int3
4acbde:	cc                   	int3
4acbdf:	cc                   	int3
4acbe0:	cc                   	int3
4acbe1:	cc                   	int3
4acbe2:	cc                   	int3
4acbe3:	cc                   	int3
4acbe4:	cc                   	int3
4acbe5:	cc                   	int3
4acbe6:	cc                   	int3
4acbe7:	cc                   	int3
4acbe8:	cc                   	int3
4acbe9:	cc                   	int3
4acbea:	cc                   	int3
4acbeb:	cc                   	int3
4acbec:	cc                   	int3
4acbed:	cc                   	int3
4acbee:	cc                   	int3
4acbef:	cc                   	int3
4acbf0:	55                   	push   %ebp
4acbf1:	8b ec                	mov    %esp,%ebp
4acbf3:	6a ff                	push   $0xffffffff
4acbf5:	68 89 d3 b3 00       	push   $0xb3d389
4acbfa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4acc00:	50                   	push   %eax
4acc01:	51                   	push   %ecx
4acc02:	56                   	push   %esi
4acc03:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
4acc08:	33 c5                	xor    %ebp,%eax
4acc0a:	50                   	push   %eax
4acc0b:	8d 45 f4             	lea    -0xc(%ebp),%eax
4acc0e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4acc14:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4acc1b:	81 c1 70 13 00 00    	add    $0x1370,%ecx
4acc21:	8b 75 08             	mov    0x8(%ebp),%esi
4acc24:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4acc2b:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4acc32:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4acc39:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4acc40:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4acc44:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4acc4b:	72 04                	jb     0x4acc51
4acc4d:	8b 06                	mov    (%esi),%eax
4acc4f:	eb 02                	jmp    0x4acc53
4acc51:	8b c6                	mov    %esi,%eax
4acc53:	6a ff                	push   $0xffffffff
4acc55:	6a 00                	push   $0x0
4acc57:	51                   	push   %ecx
4acc58:	8b ce                	mov    %esi,%ecx
4acc5a:	c6 00 00             	movb   $0x0,(%eax)
4acc5d:	e8 9d 13 f9 ff       	call   0x43dfff
4acc62:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
4acc66:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4acc6d:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4acc74:	75 20                	jne    0x4acc96
4acc76:	56                   	push   %esi
4acc77:	68 a4 77 bd 00       	push   $0xbd77a4
4acc7c:	e8 68 07 f8 ff       	call   0x42d3e9
4acc81:	83 c4 08             	add    $0x8,%esp
4acc84:	84 c0                	test   %al,%al
4acc86:	75 0e                	jne    0x4acc96
4acc88:	6a 0e                	push   $0xe
4acc8a:	68 ac 77 bd 00       	push   $0xbd77ac
4acc8f:	8b ce                	mov    %esi,%ecx
4acc91:	e8 fb 79 f6 ff       	call   0x414691
4acc96:	8b 4e 14             	mov    0x14(%esi),%ecx
4acc99:	83 f9 10             	cmp    $0x10,%ecx
4acc9c:	72 04                	jb     0x4acca2
4acc9e:	8b 06                	mov    (%esi),%eax
4acca0:	eb 02                	jmp    0x4acca4
4acca2:	8b c6                	mov    %esi,%eax
4acca4:	83 f9 10             	cmp    $0x10,%ecx
4acca7:	72 04                	jb     0x4accad
4acca9:	8b 16                	mov    (%esi),%edx
4accab:	eb 02                	jmp    0x4accaf
4accad:	8b d6                	mov    %esi,%edx
4accaf:	8b 4e 10             	mov    0x10(%esi),%ecx
4accb2:	03 ca                	add    %edx,%ecx
4accb4:	3b c1                	cmp    %ecx,%eax
4accb6:	74 16                	je     0x4accce
4accb8:	8a 10                	mov    (%eax),%dl
4accba:	80 fa 41             	cmp    $0x41,%dl
4accbd:	7c 0a                	jl     0x4accc9
4accbf:	80 fa 5a             	cmp    $0x5a,%dl
4accc2:	7f 05                	jg     0x4accc9
4accc4:	80 c2 20             	add    $0x20,%dl
4accc7:	88 10                	mov    %dl,(%eax)
4accc9:	40                   	inc    %eax
4accca:	3b c1                	cmp    %ecx,%eax
4acccc:	75 ea                	jne    0x4accb8
4accce:	8b c6                	mov    %esi,%eax
4accd0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4accd3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4accda:	59                   	pop    %ecx
4accdb:	5e                   	pop    %esi
4accdc:	8b e5                	mov    %ebp,%esp
4accde:	5d                   	pop    %ebp
4accdf:	c2 04 00             	ret    $0x4
4acce2:	cc                   	int3
4acce3:	cc                   	int3
4acce4:	cc                   	int3
4acce5:	cc                   	int3
4acce6:	cc                   	int3
4acce7:	cc                   	int3
4acce8:	cc                   	int3
4acce9:	cc                   	int3
4accea:	cc                   	int3
4acceb:	cc                   	int3
4accec:	cc                   	int3
4acced:	cc                   	int3