4389ac:	89 50 f0             	mov    %edx,-0x10(%eax)
4389af:	8b 45 08             	mov    0x8(%ebp),%eax
4389b2:	8b 40 c8             	mov    -0x38(%eax),%eax
4389b5:	8b 40 4c             	mov    0x4c(%eax),%eax
4389b8:	8b 10                	mov    (%eax),%edx
4389ba:	ff 52 2c             	call   *0x2c(%edx)
4389bd:	8b 55 08             	mov    0x8(%ebp),%edx
4389c0:	03 42 f0             	add    -0x10(%edx),%eax
4389c3:	8b 55 08             	mov    0x8(%ebp),%edx
4389c6:	89 42 f8             	mov    %eax,-0x8(%edx)
4389c9:	8b 45 08             	mov    0x8(%ebp),%eax
4389cc:	8b 40 c8             	mov    -0x38(%eax),%eax
4389cf:	8b 40 4c             	mov    0x4c(%eax),%eax
4389d2:	8b 10                	mov    (%eax),%edx
4389d4:	ff 52 20             	call   *0x20(%edx)
4389d7:	8b 55 08             	mov    0x8(%ebp),%edx
4389da:	8b 52 fc             	mov    -0x4(%edx),%edx
4389dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
4389e0:	2b 51 f4             	sub    -0xc(%ecx),%edx
4389e3:	3b c2                	cmp    %edx,%eax
4389e5:	7d 4a                	jge    0x438a31
4389e7:	8b 45 08             	mov    0x8(%ebp),%eax
4389ea:	8b 40 c8             	mov    -0x38(%eax),%eax
4389ed:	8b 40 4c             	mov    0x4c(%eax),%eax
4389f0:	8b 10                	mov    (%eax),%edx
4389f2:	ff 52 20             	call   *0x20(%edx)
4389f5:	8b 55 08             	mov    0x8(%ebp),%edx
4389f8:	8b 52 fc             	mov    -0x4(%edx),%edx
4389fb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4389fe:	2b 51 f4             	sub    -0xc(%ecx),%edx
438a01:	2b d0                	sub    %eax,%edx
438a03:	d1 fa                	sar    $1,%edx
438a05:	79 03                	jns    0x438a0a
438a07:	83 d2 00             	adc    $0x0,%edx
438a0a:	8b 45 08             	mov    0x8(%ebp),%eax
438a0d:	03 50 f4             	add    -0xc(%eax),%edx
438a10:	42                   	inc    %edx
438a11:	8b 45 08             	mov    0x8(%ebp),%eax
438a14:	89 50 f4             	mov    %edx,-0xc(%eax)
438a17:	8b 45 08             	mov    0x8(%ebp),%eax
438a1a:	8b 40 c8             	mov    -0x38(%eax),%eax
438a1d:	8b 40 4c             	mov    0x4c(%eax),%eax
438a20:	8b 10                	mov    (%eax),%edx
438a22:	ff 52 20             	call   *0x20(%edx)
438a25:	8b 55 08             	mov    0x8(%ebp),%edx
438a28:	03 42 f4             	add    -0xc(%edx),%eax
438a2b:	8b 55 08             	mov    0x8(%ebp),%edx
438a2e:	89 42 fc             	mov    %eax,-0x4(%edx)
438a31:	8b 45 08             	mov    0x8(%ebp),%eax
438a34:	8b 40 c8             	mov    -0x38(%eax),%eax
438a37:	8b 48 4c             	mov    0x4c(%eax),%ecx
438a3a:	8b 45 08             	mov    0x8(%ebp),%eax
438a3d:	8d 50 f0             	lea    -0x10(%eax),%edx
438a40:	8b 45 08             	mov    0x8(%ebp),%eax
438a43:	8b 40 d8             	mov    -0x28(%eax),%eax
438a46:	e8 a5 4c fe ff       	call   0x41d6f0
438a4b:	8b 45 08             	mov    0x8(%ebp),%eax
438a4e:	8b 55 08             	mov    0x8(%ebp),%edx
438a51:	8d 70 a4             	lea    -0x5c(%eax),%esi
438a54:	8d 7a f0             	lea    -0x10(%edx),%edi
438a57:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438a58:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438a59:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438a5a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438a5b:	8b 45 08             	mov    0x8(%ebp),%eax
438a5e:	8b 40 c8             	mov    -0x38(%eax),%eax
438a61:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
438a65:	74 6b                	je     0x438ad2
438a67:	8b 45 08             	mov    0x8(%ebp),%eax
438a6a:	ff 48 f8             	decl   -0x8(%eax)
438a6d:	8b 45 08             	mov    0x8(%ebp),%eax
438a70:	ff 48 fc             	decl   -0x4(%eax)
438a73:	eb 5d                	jmp    0x438ad2
438a75:	8b 45 08             	mov    0x8(%ebp),%eax
438a78:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
438a7c:	74 35                	je     0x438ab3
438a7e:	8b 45 08             	mov    0x8(%ebp),%eax
438a81:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
438a85:	75 2c                	jne    0x438ab3
438a87:	8b 45 08             	mov    0x8(%ebp),%eax
438a8a:	8b 40 f0             	mov    -0x10(%eax),%eax
438a8d:	8b 55 08             	mov    0x8(%ebp),%edx
438a90:	8b 52 c0             	mov    -0x40(%edx),%edx
438a93:	03 42 34             	add    0x34(%edx),%eax
438a96:	8b 55 08             	mov    0x8(%ebp),%edx
438a99:	89 42 f8             	mov    %eax,-0x8(%edx)
438a9c:	8b 45 08             	mov    0x8(%ebp),%eax
438a9f:	8b 40 f4             	mov    -0xc(%eax),%eax
438aa2:	8b 55 08             	mov    0x8(%ebp),%edx
438aa5:	8b 52 c0             	mov    -0x40(%edx),%edx
438aa8:	03 42 30             	add    0x30(%edx),%eax
438aab:	8b 55 08             	mov    0x8(%ebp),%edx
438aae:	89 42 fc             	mov    %eax,-0x4(%edx)
438ab1:	eb 18                	jmp    0x438acb
438ab3:	8b 45 08             	mov    0x8(%ebp),%eax
438ab6:	8b 40 f0             	mov    -0x10(%eax),%eax
438ab9:	8b 55 08             	mov    0x8(%ebp),%edx
438abc:	89 42 f8             	mov    %eax,-0x8(%edx)
438abf:	8b 45 08             	mov    0x8(%ebp),%eax
438ac2:	8b 40 f4             	mov    -0xc(%eax),%eax
438ac5:	8b 55 08             	mov    0x8(%ebp),%edx
438ac8:	89 42 fc             	mov    %eax,-0x4(%edx)
438acb:	8b 45 08             	mov    0x8(%ebp),%eax
438ace:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
438ad2:	8b 45 08             	mov    0x8(%ebp),%eax
438ad5:	ff 48 f0             	decl   -0x10(%eax)
438ad8:	8b 45 08             	mov    0x8(%ebp),%eax
438adb:	ff 48 f4             	decl   -0xc(%eax)
438ade:	8b 45 08             	mov    0x8(%ebp),%eax
438ae1:	83 40 f8 02          	addl   $0x2,-0x8(%eax)
438ae5:	8b 45 08             	mov    0x8(%ebp),%eax
438ae8:	83 40 fc 02          	addl   $0x2,-0x4(%eax)
438aec:	8b 45 08             	mov    0x8(%ebp),%eax
438aef:	8b 40 c8             	mov    -0x38(%eax),%eax
438af2:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
438af6:	75 12                	jne    0x438b0a
438af8:	8b 45 08             	mov    0x8(%ebp),%eax
438afb:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
438aff:	74 3e                	je     0x438b3f
438b01:	8b 45 08             	mov    0x8(%ebp),%eax
438b04:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
438b08:	74 35                	je     0x438b3f
438b0a:	8b 45 08             	mov    0x8(%ebp),%eax
438b0d:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
438b11:	75 2c                	jne    0x438b3f
438b13:	6a 0f                	push   $0xf
438b15:	8b 45 08             	mov    0x8(%ebp),%eax
438b18:	8b 40 c8             	mov    -0x38(%eax),%eax
438b1b:	0f b6 40 38          	movzbl 0x38(%eax),%eax
438b1f:	8b 04 85 a8 5b 45 00 	mov    0x455ba8(,%eax,4),%eax
438b26:	50                   	push   %eax
438b27:	8b 45 08             	mov    0x8(%ebp),%eax
438b2a:	83 c0 f0             	add    $0xfffffff0,%eax
438b2d:	50                   	push   %eax
438b2e:	8b 45 08             	mov    0x8(%ebp),%eax
438b31:	8b 40 d8             	mov    -0x28(%eax),%eax
438b34:	e8 d7 4d fe ff       	call   0x41d910
438b39:	50                   	push   %eax
438b3a:	e8 55 df fc ff       	call   0x406a94
438b3f:	8b 45 08             	mov    0x8(%ebp),%eax
438b42:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
438b46:	74 4c                	je     0x438b94
438b48:	8b 45 08             	mov    0x8(%ebp),%eax
438b4b:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
438b4f:	74 0d                	je     0x438b5e
438b51:	8b 45 08             	mov    0x8(%ebp),%eax
438b54:	8b 40 f8             	mov    -0x8(%eax),%eax
438b57:	40                   	inc    %eax
438b58:	8b 55 08             	mov    0x8(%ebp),%edx
438b5b:	89 42 e0             	mov    %eax,-0x20(%edx)
438b5e:	8b 45 08             	mov    0x8(%ebp),%eax
438b61:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
438b65:	74 09                	je     0x438b70
438b67:	8b 45 08             	mov    0x8(%ebp),%eax
438b6a:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
438b6e:	75 13                	jne    0x438b83
438b70:	8b 45 08             	mov    0x8(%ebp),%eax
438b73:	8b 40 d8             	mov    -0x28(%eax),%eax
438b76:	8b 40 14             	mov    0x14(%eax),%eax
438b79:	ba 0d 00 00 ff       	mov    $0xff00000d,%edx
438b7e:	e8 01 47 fe ff       	call   0x41d284
438b83:	8b 45 08             	mov    0x8(%ebp),%eax
438b86:	8d 50 e0             	lea    -0x20(%eax),%edx
438b89:	8b 45 08             	mov    0x8(%ebp),%eax
438b8c:	8b 40 d8             	mov    -0x28(%eax),%eax
438b8f:	e8 94 4a fe ff       	call   0x41d628
438b94:	8b 45 08             	mov    0x8(%ebp),%eax
438b97:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
438b9b:	74 77                	je     0x438c14
438b9d:	8b 45 08             	mov    0x8(%ebp),%eax
438ba0:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
438ba4:	74 6e                	je     0x438c14
438ba6:	8b 45 08             	mov    0x8(%ebp),%eax
438ba9:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
438bad:	75 65                	jne    0x438c14
438baf:	8b 45 08             	mov    0x8(%ebp),%eax
438bb2:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
438bb6:	74 1e                	je     0x438bd6
438bb8:	6a 0f                	push   $0xf
438bba:	6a 02                	push   $0x2
438bbc:	8b 45 08             	mov    0x8(%ebp),%eax
438bbf:	83 c0 e0             	add    $0xffffffe0,%eax
438bc2:	50                   	push   %eax
438bc3:	8b 45 08             	mov    0x8(%ebp),%eax
438bc6:	8b 40 d8             	mov    -0x28(%eax),%eax
438bc9:	e8 42 4d fe ff       	call   0x41d910
438bce:	50                   	push   %eax
438bcf:	e8 c0 de fc ff       	call   0x406a94
438bd4:	eb 25                	jmp    0x438bfb
438bd6:	8b 45 08             	mov    0x8(%ebp),%eax
438bd9:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
438bdd:	74 1c                	je     0x438bfb
438bdf:	6a 0f                	push   $0xf
438be1:	6a 04                	push   $0x4
438be3:	8b 45 08             	mov    0x8(%ebp),%eax
438be6:	83 c0 e0             	add    $0xffffffe0,%eax
438be9:	50                   	push   %eax
438bea:	8b 45 08             	mov    0x8(%ebp),%eax
438bed:	8b 40 d8             	mov    -0x28(%eax),%eax
438bf0:	e8 1b 4d fe ff       	call   0x41d910
438bf5:	50                   	push   %eax
438bf6:	e8 99 de fc ff       	call   0x406a94
438bfb:	8b 45 08             	mov    0x8(%ebp),%eax
438bfe:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
438c02:	75 10                	jne    0x438c14
438c04:	6a ff                	push   $0xffffffff
438c06:	6a 00                	push   $0x0
438c08:	8b 45 08             	mov    0x8(%ebp),%eax
438c0b:	83 c0 e0             	add    $0xffffffe0,%eax
438c0e:	50                   	push   %eax
438c0f:	e8 28 e1 fc ff       	call   0x406d3c
438c14:	8b 45 08             	mov    0x8(%ebp),%eax
438c17:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
438c1b:	74 09                	je     0x438c26
438c1d:	8b 45 08             	mov    0x8(%ebp),%eax
438c20:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
438c24:	75 0d                	jne    0x438c33
438c26:	8b 45 08             	mov    0x8(%ebp),%eax
438c29:	8b 40 f8             	mov    -0x8(%eax),%eax
438c2c:	40                   	inc    %eax
438c2d:	8b 55 08             	mov    0x8(%ebp),%edx
438c30:	89 42 e0             	mov    %eax,-0x20(%edx)
438c33:	8b 45 08             	mov    0x8(%ebp),%eax
438c36:	83 40 e0 02          	addl   $0x2,-0x20(%eax)
438c3a:	8b 45 08             	mov    0x8(%ebp),%eax
438c3d:	ff 48 e8             	decl   -0x18(%eax)
438c40:	8b 45 08             	mov    0x8(%ebp),%eax
438c43:	0f b6 40 cf          	movzbl -0x31(%eax),%eax
438c47:	66 8b 04 45 a0 5b 45 	mov    0x455ba0(,%eax,2),%ax
438c4e:	00
438c4f:	66 83 c8 60          	or     $0x60,%ax
438c53:	0f b7 c0             	movzwl %ax,%eax
438c56:	8b 55 08             	mov    0x8(%ebp),%edx
438c59:	89 42 9c             	mov    %eax,-0x64(%edx)
438c5c:	8b 45 08             	mov    0x8(%ebp),%eax
438c5f:	80 78 9b 00          	cmpb   $0x0,-0x65(%eax)
438c63:	74 13                	je     0x438c78
438c65:	8b 45 08             	mov    0x8(%ebp),%eax
438c68:	f6 40 0d 01          	testb  $0x1,0xd(%eax)
438c6c:	74 0a                	je     0x438c78
438c6e:	8b 45 08             	mov    0x8(%ebp),%eax
438c71:	81 48 9c 00 00 10 00 	orl    $0x100000,-0x64(%eax)
438c78:	8b 45 08             	mov    0x8(%ebp),%eax
438c7b:	8b 55 08             	mov    0x8(%ebp),%edx
438c7e:	8d 70 e0             	lea    -0x20(%eax),%esi
438c81:	8d 7a a4             	lea    -0x5c(%edx),%edi
438c84:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438c85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438c86:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438c87:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438c88:	8b 45 08             	mov    0x8(%ebp),%eax
438c8b:	f6 40 0c 20          	testb  $0x20,0xc(%eax)
438c8f:	74 14                	je     0x438ca5
438c91:	8b 45 08             	mov    0x8(%ebp),%eax
438c94:	8b 40 d8             	mov    -0x28(%eax),%eax
438c97:	8b 40 0c             	mov    0xc(%eax),%eax
438c9a:	8a 15 04 8e 43 00    	mov    0x438e04,%dl
438ca0:	e8 df 40 fe ff       	call   0x41cd84
438ca5:	8b 45 08             	mov    0x8(%ebp),%eax
438ca8:	83 c0 e0             	add    $0xffffffe0,%eax
438cab:	50                   	push   %eax
438cac:	8b 45 08             	mov    0x8(%ebp),%eax
438caf:	8a 40 d7             	mov    -0x29(%eax),%al
438cb2:	50                   	push   %eax
438cb3:	8b 45 08             	mov    0x8(%ebp),%eax
438cb6:	8b 40 9c             	mov    -0x64(%eax),%eax
438cb9:	0d 00 04 00 00       	or     $0x400,%eax
438cbe:	0d 00 01 00 00       	or     $0x100,%eax
438cc3:	50                   	push   %eax
438cc4:	8b 45 08             	mov    0x8(%ebp),%eax
438cc7:	8b 40 c8             	mov    -0x38(%eax),%eax
438cca:	8b 48 30             	mov    0x30(%eax),%ecx
438ccd:	8b 45 08             	mov    0x8(%ebp),%eax
438cd0:	8b 50 d8             	mov    -0x28(%eax),%edx
438cd3:	8b 45 08             	mov    0x8(%ebp),%eax
438cd6:	8b 40 c8             	mov    -0x38(%eax),%eax
438cd9:	e8 b2 f5 ff ff       	call   0x438290
438cde:	8b 45 08             	mov    0x8(%ebp),%eax
438ce1:	8b 40 b0             	mov    -0x50(%eax),%eax
438ce4:	8b 55 08             	mov    0x8(%ebp),%edx
438ce7:	2b 42 a8             	sub    -0x58(%edx),%eax
438cea:	8b 55 08             	mov    0x8(%ebp),%edx
438ced:	8b 52 ec             	mov    -0x14(%edx),%edx
438cf0:	8b 4d 08             	mov    0x8(%ebp),%ecx
438cf3:	2b 51 e4             	sub    -0x1c(%ecx),%edx
438cf6:	2b c2                	sub    %edx,%eax
438cf8:	d1 f8                	sar    $1,%eax
438cfa:	79 03                	jns    0x438cff
438cfc:	83 d0 00             	adc    $0x0,%eax
438cff:	50                   	push   %eax
438d00:	6a 00                	push   $0x0
438d02:	8b 45 08             	mov    0x8(%ebp),%eax
438d05:	83 c0 e0             	add    $0xffffffe0,%eax
438d08:	50                   	push   %eax
438d09:	e8 2e e0 fc ff       	call   0x406d3c
438d0e:	8b 45 08             	mov    0x8(%ebp),%eax
438d11:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
438d15:	74 2b                	je     0x438d42
438d17:	8b 45 08             	mov    0x8(%ebp),%eax
438d1a:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
438d1e:	74 22                	je     0x438d42
438d20:	8b 45 08             	mov    0x8(%ebp),%eax
438d23:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
438d27:	74 19                	je     0x438d42
438d29:	8b 45 08             	mov    0x8(%ebp),%eax
438d2c:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
438d30:	75 10                	jne    0x438d42
438d32:	6a 00                	push   $0x0
438d34:	6a 01                	push   $0x1
438d36:	8b 45 08             	mov    0x8(%ebp),%eax
438d39:	83 c0 e0             	add    $0xffffffe0,%eax
438d3c:	50                   	push   %eax
438d3d:	e8 fa df fc ff       	call   0x406d3c
438d42:	8b 45 08             	mov    0x8(%ebp),%eax
438d45:	83 c0 e0             	add    $0xffffffe0,%eax
438d48:	50                   	push   %eax
438d49:	8b 45 08             	mov    0x8(%ebp),%eax
438d4c:	8a 40 d7             	mov    -0x29(%eax),%al
438d4f:	50                   	push   %eax
438d50:	8b 45 08             	mov    0x8(%ebp),%eax
438d53:	8b 40 9c             	mov    -0x64(%eax),%eax
438d56:	50                   	push   %eax
438d57:	8b 45 08             	mov    0x8(%ebp),%eax
438d5a:	8b 40 c8             	mov    -0x38(%eax),%eax
438d5d:	8b 48 30             	mov    0x30(%eax),%ecx
438d60:	8b 45 08             	mov    0x8(%ebp),%eax
438d63:	8b 50 d8             	mov    -0x28(%eax),%edx
438d66:	8b 45 08             	mov    0x8(%ebp),%eax
438d69:	8b 40 c8             	mov    -0x38(%eax),%eax
438d6c:	e8 1f f5 ff ff       	call   0x438290
438d71:	8b 45 08             	mov    0x8(%ebp),%eax
438d74:	8b 40 c8             	mov    -0x38(%eax),%eax
438d77:	66 8b 58 60          	mov    0x60(%eax),%bx
438d7b:	66 85 db             	test   %bx,%bx
438d7e:	74 55                	je     0x438dd5
438d80:	8b 45 08             	mov    0x8(%ebp),%eax
438d83:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
438d87:	75 4c                	jne    0x438dd5
438d89:	8b 45 08             	mov    0x8(%ebp),%eax
438d8c:	8b 40 e8             	mov    -0x18(%eax),%eax
438d8f:	8b 55 08             	mov    0x8(%ebp),%edx
438d92:	89 42 e0             	mov    %eax,-0x20(%edx)
438d95:	8b 45 08             	mov    0x8(%ebp),%eax
438d98:	8b 40 ac             	mov    -0x54(%eax),%eax
438d9b:	83 e8 0a             	sub    $0xa,%eax
438d9e:	8b 55 08             	mov    0x8(%ebp),%edx
438da1:	89 42 e8             	mov    %eax,-0x18(%edx)
438da4:	8b 45 08             	mov    0x8(%ebp),%eax
438da7:	83 c0 e0             	add    $0xffffffe0,%eax
438daa:	50                   	push   %eax