45ac7c:	cc                   	int3
45ac7d:	cc                   	int3
45ac7e:	cc                   	int3
45ac7f:	cc                   	int3
45ac80:	8b 54 24 04          	mov    0x4(%esp),%edx
45ac84:	56                   	push   %esi
45ac85:	8b f1                	mov    %ecx,%esi
45ac87:	85 d2                	test   %edx,%edx
45ac89:	78 21                	js     0x45acac
45ac8b:	8b 06                	mov    (%esi),%eax
45ac8d:	b9 01 00 00 00       	mov    $0x1,%ecx
45ac92:	2b 48 fc             	sub    -0x4(%eax),%ecx
45ac95:	8b 40 f8             	mov    -0x8(%eax),%eax
45ac98:	2b c2                	sub    %edx,%eax
45ac9a:	0b c8                	or     %eax,%ecx
45ac9c:	7d 08                	jge    0x45aca6
45ac9e:	52                   	push   %edx
45ac9f:	8b ce                	mov    %esi,%ecx
45aca1:	e8 49 58 fd ff       	call   0x4304ef
45aca6:	8b 06                	mov    (%esi),%eax
45aca8:	5e                   	pop    %esi
45aca9:	c2 04 00             	ret    $0x4
45acac:	68 57 00 07 80       	push   $0x80070057
45acb1:	e8 18 ca fc ff       	call   0x4276ce
45acb6:	cc                   	int3
45acb7:	cc                   	int3
45acb8:	cc                   	int3
45acb9:	cc                   	int3
45acba:	cc                   	int3
45acbb:	cc                   	int3
45acbc:	cc                   	int3
45acbd:	cc                   	int3
45acbe:	cc                   	int3
45acbf:	cc                   	int3
45acc0:	cc                   	int3
45acc1:	cc                   	int3
45acc2:	cc                   	int3
45acc3:	cc                   	int3
45acc4:	cc                   	int3
45acc5:	cc                   	int3
45acc6:	cc                   	int3
45acc7:	cc                   	int3
45acc8:	cc                   	int3
45acc9:	cc                   	int3
45acca:	cc                   	int3
45accb:	cc                   	int3
45accc:	cc                   	int3
45accd:	cc                   	int3
45acce:	cc                   	int3
45accf:	cc                   	int3
45acd0:	56                   	push   %esi
45acd1:	8b 74 24 08          	mov    0x8(%esp),%esi
45acd5:	57                   	push   %edi
45acd6:	8b f9                	mov    %ecx,%edi
45acd8:	8b 17                	mov    (%edi),%edx
45acda:	83 ea 10             	sub    $0x10,%edx
45acdd:	8b 0a                	mov    (%edx),%ecx
45acdf:	39 72 08             	cmp    %esi,0x8(%edx)
45ace2:	7d 1b                	jge    0x45acff
45ace4:	85 f6                	test   %esi,%esi
45ace6:	7e 17                	jle    0x45acff
45ace8:	8b 01                	mov    (%ecx),%eax
45acea:	6a 02                	push   $0x2
45acec:	56                   	push   %esi
45aced:	52                   	push   %edx
45acee:	ff 50 08             	call   *0x8(%eax)
45acf1:	85 c0                	test   %eax,%eax
45acf3:	74 0a                	je     0x45acff
45acf5:	83 c0 10             	add    $0x10,%eax
45acf8:	89 07                	mov    %eax,(%edi)
45acfa:	5f                   	pop    %edi
45acfb:	5e                   	pop    %esi
45acfc:	c2 04 00             	ret    $0x4
45acff:	e8 2e fd fb ff       	call   0x41aa32
45ad04:	cc                   	int3
45ad05:	cc                   	int3
45ad06:	cc                   	int3
45ad07:	cc                   	int3
45ad08:	cc                   	int3
45ad09:	cc                   	int3
45ad0a:	cc                   	int3
45ad0b:	cc                   	int3
45ad0c:	cc                   	int3
45ad0d:	cc                   	int3
45ad0e:	cc                   	int3
45ad0f:	cc                   	int3
45ad10:	cc                   	int3
45ad11:	cc                   	int3
45ad12:	cc                   	int3
45ad13:	cc                   	int3
45ad14:	cc                   	int3
45ad15:	cc                   	int3
45ad16:	cc                   	int3
45ad17:	cc                   	int3
45ad18:	cc                   	int3
45ad19:	cc                   	int3
45ad1a:	cc                   	int3
45ad1b:	cc                   	int3
45ad1c:	cc                   	int3
45ad1d:	cc                   	int3
45ad1e:	cc                   	int3
45ad1f:	cc                   	int3
45ad20:	8b 54 24 08          	mov    0x8(%esp),%edx
45ad24:	85 d2                	test   %edx,%edx
45ad26:	79 05                	jns    0x45ad2d
45ad28:	33 c0                	xor    %eax,%eax
45ad2a:	c2 0c 00             	ret    $0xc
45ad2d:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45ad32:	2b c2                	sub    %edx,%eax
45ad34:	83 f8 01             	cmp    $0x1,%eax
45ad37:	7c ef                	jl     0x45ad28
45ad39:	42                   	inc    %edx
45ad3a:	56                   	push   %esi
45ad3b:	8d 72 07             	lea    0x7(%edx),%esi
45ad3e:	83 e6 f8             	and    $0xfffffff8,%esi
45ad41:	3b d6                	cmp    %esi,%edx
45ad43:	7f 38                	jg     0x45ad7d
45ad45:	8b c6                	mov    %esi,%eax
45ad47:	f7 64 24 10          	mull   0x10(%esp)
45ad4b:	85 d2                	test   %edx,%edx
45ad4d:	77 2e                	ja     0x45ad7d
45ad4f:	72 05                	jb     0x45ad56
45ad51:	83 f8 ff             	cmp    $0xffffffff,%eax
45ad54:	77 27                	ja     0x45ad7d
45ad56:	83 f8 ef             	cmp    $0xffffffef,%eax
45ad59:	77 22                	ja     0x45ad7d
45ad5b:	8b 49 04             	mov    0x4(%ecx),%ecx
45ad5e:	83 c0 10             	add    $0x10,%eax
45ad61:	50                   	push   %eax
45ad62:	ff 74 24 0c          	push   0xc(%esp)
45ad66:	8b 11                	mov    (%ecx),%edx
45ad68:	ff 52 08             	call   *0x8(%edx)
45ad6b:	8b c8                	mov    %eax,%ecx
45ad6d:	85 c9                	test   %ecx,%ecx
45ad6f:	74 0c                	je     0x45ad7d
45ad71:	8d 46 ff             	lea    -0x1(%esi),%eax
45ad74:	89 41 08             	mov    %eax,0x8(%ecx)
45ad77:	8b c1                	mov    %ecx,%eax
45ad79:	5e                   	pop    %esi
45ad7a:	c2 0c 00             	ret    $0xc
45ad7d:	33 c0                	xor    %eax,%eax
45ad7f:	5e                   	pop    %esi
45ad80:	c2 0c 00             	ret    $0xc
45ad83:	cc                   	int3
45ad84:	cc                   	int3
45ad85:	cc                   	int3
45ad86:	cc                   	int3
45ad87:	cc                   	int3
45ad88:	cc                   	int3
45ad89:	cc                   	int3
45ad8a:	cc                   	int3
45ad8b:	cc                   	int3
45ad8c:	cc                   	int3
45ad8d:	cc                   	int3
45ad8e:	cc                   	int3
45ad8f:	cc                   	int3
45ad90:	cc                   	int3
45ad91:	cc                   	int3
45ad92:	cc                   	int3
45ad93:	cc                   	int3
45ad94:	cc                   	int3
45ad95:	cc                   	int3
45ad96:	cc                   	int3
45ad97:	cc                   	int3
45ad98:	cc                   	int3
45ad99:	cc                   	int3
45ad9a:	cc                   	int3
45ad9b:	cc                   	int3
45ad9c:	cc                   	int3
45ad9d:	cc                   	int3
45ad9e:	cc                   	int3
45ad9f:	cc                   	int3
45ada0:	8b 54 24 04          	mov    0x4(%esp),%edx
45ada4:	85 d2                	test   %edx,%edx
45ada6:	75 0b                	jne    0x45adb3
45ada8:	8b 01                	mov    (%ecx),%eax
45adaa:	ff 74 24 08          	push   0x8(%esp)
45adae:	ff 10                	call   *(%eax)
45adb0:	c2 08 00             	ret    $0x8
45adb3:	8b 44 24 08          	mov    0x8(%esp),%eax
45adb7:	85 c0                	test   %eax,%eax
45adb9:	75 0b                	jne    0x45adc6
45adbb:	8b 01                	mov    (%ecx),%eax
45adbd:	52                   	push   %edx
45adbe:	ff 50 04             	call   *0x4(%eax)
45adc1:	33 c0                	xor    %eax,%eax
45adc3:	c2 08 00             	ret    $0x8
45adc6:	50                   	push   %eax
45adc7:	52                   	push   %edx
45adc8:	6a 00                	push   $0x0
45adca:	ff 71 04             	push   0x4(%ecx)
45adcd:	ff 15 e8 36 d8 00    	call   *0xd836e8
45add3:	c2 08 00             	ret    $0x8
45add6:	cc                   	int3
45add7:	cc                   	int3
45add8:	cc                   	int3
45add9:	cc                   	int3
45adda:	cc                   	int3
45addb:	cc                   	int3
45addc:	cc                   	int3
45addd:	cc                   	int3
45adde:	cc                   	int3
45addf:	cc                   	int3
45ade0:	cc                   	int3
45ade1:	cc                   	int3
45ade2:	cc                   	int3
45ade3:	cc                   	int3
45ade4:	cc                   	int3
45ade5:	cc                   	int3
45ade6:	cc                   	int3
45ade7:	cc                   	int3
45ade8:	cc                   	int3
45ade9:	cc                   	int3
45adea:	cc                   	int3
45adeb:	cc                   	int3
45adec:	cc                   	int3
45aded:	cc                   	int3
45adee:	cc                   	int3
45adef:	cc                   	int3
45adf0:	8b d1                	mov    %ecx,%edx
45adf2:	83 c8 ff             	or     $0xffffffff,%eax
45adf5:	f0 0f c1 42 0c       	lock xadd %eax,0xc(%edx)
45adfa:	48                   	dec    %eax
45adfb:	85 c0                	test   %eax,%eax
45adfd:	7f 08                	jg     0x45ae07
45adff:	8b 0a                	mov    (%edx),%ecx
45ae01:	52                   	push   %edx
45ae02:	8b 01                	mov    (%ecx),%eax
45ae04:	ff 50 04             	call   *0x4(%eax)
45ae07:	c3                   	ret
45ae08:	cc                   	int3
45ae09:	cc                   	int3
45ae0a:	cc                   	int3
45ae0b:	cc                   	int3
45ae0c:	cc                   	int3
45ae0d:	cc                   	int3
45ae0e:	cc                   	int3
45ae0f:	cc                   	int3
45ae10:	8b 54 24 04          	mov    0x4(%esp),%edx
45ae14:	85 d2                	test   %edx,%edx
45ae16:	78 15                	js     0x45ae2d
45ae18:	8b 01                	mov    (%ecx),%eax
45ae1a:	3b 50 f8             	cmp    -0x8(%eax),%edx
45ae1d:	7f 0e                	jg     0x45ae2d
45ae1f:	89 50 f4             	mov    %edx,-0xc(%eax)
45ae22:	8b 01                	mov    (%ecx),%eax
45ae24:	33 c9                	xor    %ecx,%ecx
45ae26:	66 89 0c 50          	mov    %cx,(%eax,%edx,2)
45ae2a:	c2 04 00             	ret    $0x4
45ae2d:	68 57 00 07 80       	push   $0x80070057
45ae32:	e8 97 c8 fc ff       	call   0x4276ce
45ae37:	cc                   	int3
45ae38:	cc                   	int3
45ae39:	cc                   	int3
45ae3a:	cc                   	int3
45ae3b:	cc                   	int3
45ae3c:	cc                   	int3
45ae3d:	cc                   	int3
45ae3e:	cc                   	int3
45ae3f:	cc                   	int3
45ae40:	cc                   	int3
45ae41:	cc                   	int3
45ae42:	cc                   	int3
45ae43:	cc                   	int3
45ae44:	cc                   	int3
45ae45:	cc                   	int3
45ae46:	cc                   	int3
45ae47:	cc                   	int3
45ae48:	cc                   	int3
45ae49:	cc                   	int3
45ae4a:	cc                   	int3
45ae4b:	cc                   	int3
45ae4c:	cc                   	int3
45ae4d:	cc                   	int3
45ae4e:	cc                   	int3
45ae4f:	cc                   	int3
45ae50:	56                   	push   %esi
45ae51:	8b f1                	mov    %ecx,%esi
45ae53:	8b 06                	mov    (%esi),%eax
45ae55:	85 c0                	test   %eax,%eax
45ae57:	74 0f                	je     0x45ae68
45ae59:	50                   	push   %eax
45ae5a:	e8 73 aa fd ff       	call   0x4358d2
45ae5f:	83 c4 04             	add    $0x4,%esp
45ae62:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45ae68:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45ae6f:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45ae76:	5e                   	pop    %esi
45ae77:	c3                   	ret
45ae78:	cc                   	int3
45ae79:	cc                   	int3
45ae7a:	cc                   	int3
45ae7b:	cc                   	int3
45ae7c:	cc                   	int3
45ae7d:	cc                   	int3
45ae7e:	cc                   	int3
45ae7f:	cc                   	int3
45ae80:	cc                   	int3
45ae81:	cc                   	int3
45ae82:	cc                   	int3
45ae83:	cc                   	int3
45ae84:	cc                   	int3
45ae85:	cc                   	int3
45ae86:	cc                   	int3
45ae87:	cc                   	int3
45ae88:	cc                   	int3
45ae89:	cc                   	int3
45ae8a:	cc                   	int3
45ae8b:	cc                   	int3
45ae8c:	cc                   	int3
45ae8d:	cc                   	int3
45ae8e:	cc                   	int3
45ae8f:	cc                   	int3
45ae90:	56                   	push   %esi
45ae91:	57                   	push   %edi
45ae92:	8b 7c 24 0c          	mov    0xc(%esp),%edi
45ae96:	8b f1                	mov    %ecx,%esi
45ae98:	81 ff 00 02 00 00    	cmp    $0x200,%edi
45ae9e:	76 49                	jbe    0x45aee9
45aea0:	3b be 08 02 00 00    	cmp    0x208(%esi),%edi
45aea6:	76 41                	jbe    0x45aee9
45aea8:	53                   	push   %ebx
45aea9:	57                   	push   %edi
45aeaa:	e8 e8 a8 fd ff       	call   0x435797
45aeaf:	ff b6 08 02 00 00    	push   0x208(%esi)
45aeb5:	8b d8                	mov    %eax,%ebx
45aeb7:	ff b6 04 02 00 00    	push   0x204(%esi)
45aebd:	53                   	push   %ebx
45aebe:	e8 bf 97 fb ff       	call   0x414682
45aec3:	8b 8e 04 02 00 00    	mov    0x204(%esi),%ecx
45aec9:	8d 46 04             	lea    0x4(%esi),%eax
45aecc:	83 c4 10             	add    $0x10,%esp
45aecf:	3b c8                	cmp    %eax,%ecx
45aed1:	74 09                	je     0x45aedc
45aed3:	51                   	push   %ecx
45aed4:	e8 39 37 fe ff       	call   0x43e612
45aed9:	83 c4 04             	add    $0x4,%esp
45aedc:	89 9e 04 02 00 00    	mov    %ebx,0x204(%esi)
45aee2:	89 be 08 02 00 00    	mov    %edi,0x208(%esi)
45aee8:	5b                   	pop    %ebx
45aee9:	5f                   	pop    %edi
45aeea:	5e                   	pop    %esi
45aeeb:	c2 04 00             	ret    $0x4
45aeee:	cc                   	int3
45aeef:	cc                   	int3
45aef0:	cc                   	int3
45aef1:	cc                   	int3
45aef2:	cc                   	int3
45aef3:	cc                   	int3
45aef4:	cc                   	int3