439d44:	ff d3                	call   *%ebx
439d46:	8b 45 fc             	mov    -0x4(%ebp),%eax
439d49:	ff 75 f8             	push   -0x8(%ebp)
439d4c:	8b 08                	mov    (%eax),%ecx
439d4e:	50                   	push   %eax
439d4f:	ff 51 50             	call   *0x50(%ecx)
439d52:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439d56:	8b 45 f4             	mov    -0xc(%ebp),%eax
439d59:	47                   	inc    %edi
439d5a:	66 3b 78 2c          	cmp    0x2c(%eax),%di
439d5e:	72 99                	jb     0x439cf9
439d60:	eb 05                	jmp    0x439d67
439d62:	ff 75 f0             	push   -0x10(%ebp)
439d65:	ff d3                	call   *%ebx
439d67:	8b 5d 10             	mov    0x10(%ebp),%ebx
439d6a:	e9 42 ff ff ff       	jmp    0x439cb1
439d6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
439d72:	ff 75 f4             	push   -0xc(%ebp)
439d75:	8b 08                	mov    (%eax),%ecx
439d77:	50                   	push   %eax
439d78:	ff 51 4c             	call   *0x4c(%ecx)
439d7b:	e9 cc 00 00 00       	jmp    0x439e4c
439d80:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
439d84:	33 c9                	xor    %ecx,%ecx
439d86:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
439d8c:	66 3b c8             	cmp    %ax,%cx
439d8f:	7d 74                	jge    0x439e05
439d91:	33 ff                	xor    %edi,%edi
439d93:	8d 73 10             	lea    0x10(%ebx),%esi
439d96:	8b 5a 08             	mov    0x8(%edx),%ebx
439d99:	0f b7 44 3b 04       	movzwl 0x4(%ebx,%edi,1),%eax
439d9e:	66 89 06             	mov    %ax,(%esi)
439da1:	83 f8 1a             	cmp    $0x1a,%eax
439da4:	75 0f                	jne    0x439db5
439da6:	8b 04 3b             	mov    (%ebx,%edi,1),%eax
439da9:	b9 00 40 00 00       	mov    $0x4000,%ecx
439dae:	66 0b 48 04          	or     0x4(%eax),%cx
439db2:	66 89 0e             	mov    %cx,(%esi)
439db5:	66 83 3e 1b          	cmpw   $0x1b,(%esi)
439db9:	75 0f                	jne    0x439dca
439dbb:	8b 04 3b             	mov    (%ebx,%edi,1),%eax
439dbe:	b9 00 20 00 00       	mov    $0x2000,%ecx
439dc3:	66 0b 48 04          	or     0x4(%eax),%cx
439dc7:	66 89 0e             	mov    %cx,(%esi)
439dca:	66 83 3e 1d          	cmpw   $0x1d,(%esi)
439dce:	75 11                	jne    0x439de1
439dd0:	8b 14 3b             	mov    (%ebx,%edi,1),%edx
439dd3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439dd6:	e8 17 fc ff ff       	call   0x4399f2
439ddb:	8b 55 f8             	mov    -0x8(%ebp),%edx
439dde:	66 89 06             	mov    %ax,(%esi)
439de1:	8b 42 08             	mov    0x8(%edx),%eax
439de4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
439de7:	66 8b 44 38 0c       	mov    0xc(%eax,%edi,1),%ax
439dec:	66 89 46 02          	mov    %ax,0x2(%esi)
439df0:	0f bf 42 18          	movswl 0x18(%edx),%eax
439df4:	41                   	inc    %ecx
439df5:	83 c7 10             	add    $0x10,%edi
439df8:	83 c6 04             	add    $0x4,%esi
439dfb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
439dfe:	3b c8                	cmp    %eax,%ecx
439e00:	7c 94                	jl     0x439d96
439e02:	8b 5d 10             	mov    0x10(%ebp),%ebx
439e05:	0f b7 4a 24          	movzwl 0x24(%edx),%ecx
439e09:	8b c1                	mov    %ecx,%eax
439e0b:	83 e8 16             	sub    $0x16,%eax
439e0e:	74 15                	je     0x439e25
439e10:	48                   	dec    %eax
439e11:	74 0e                	je     0x439e21
439e13:	48                   	dec    %eax
439e14:	74 07                	je     0x439e1d
439e16:	48                   	dec    %eax
439e17:	75 0f                	jne    0x439e28
439e19:	6a 0a                	push   $0xa
439e1b:	eb 0a                	jmp    0x439e27
439e1d:	33 c9                	xor    %ecx,%ecx
439e1f:	eb 07                	jmp    0x439e28
439e21:	6a 13                	push   $0x13
439e23:	eb 02                	jmp    0x439e27
439e25:	6a 03                	push   $0x3
439e27:	59                   	pop    %ecx
439e28:	8b 42 10             	mov    0x10(%edx),%eax
439e2b:	89 43 04             	mov    %eax,0x4(%ebx)
439e2e:	8b 42 14             	mov    0x14(%edx),%eax
439e31:	89 43 08             	mov    %eax,0x8(%ebx)
439e34:	66 8b 42 18          	mov    0x18(%edx),%ax
439e38:	66 89 43 0e          	mov    %ax,0xe(%ebx)
439e3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
439e3f:	66 89 4b 0c          	mov    %cx,0xc(%ebx)
439e43:	8b 08                	mov    (%eax),%ecx
439e45:	52                   	push   %edx
439e46:	50                   	push   %eax
439e47:	ff 51 50             	call   *0x50(%ecx)
439e4a:	33 f6                	xor    %esi,%esi
439e4c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439e4f:	e8 2f fb ff ff       	call   0x439983
439e54:	5f                   	pop    %edi
439e55:	8b c6                	mov    %esi,%eax
439e57:	5e                   	pop    %esi
439e58:	5b                   	pop    %ebx
439e59:	c9                   	leave
439e5a:	c3                   	ret
439e5b:	55                   	push   %ebp
439e5c:	8b ec                	mov    %esp,%ebp
439e5e:	51                   	push   %ecx
439e5f:	53                   	push   %ebx
439e60:	56                   	push   %esi
439e61:	57                   	push   %edi
439e62:	8b fa                	mov    %edx,%edi
439e64:	33 f6                	xor    %esi,%esi
439e66:	8b d9                	mov    %ecx,%ebx
439e68:	85 ff                	test   %edi,%edi
439e6a:	74 3b                	je     0x439ea7
439e6c:	57                   	push   %edi
439e6d:	e8 69 6e fe ff       	call   0x420cdb
439e72:	59                   	pop    %ecx
439e73:	85 c0                	test   %eax,%eax
439e75:	74 30                	je     0x439ea7
439e77:	8b cf                	mov    %edi,%ecx
439e79:	e8 76 28 fe ff       	call   0x41c6f4
439e7e:	ff 75 08             	push   0x8(%ebp)
439e81:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439e84:	68 00 08 00 00       	push   $0x800
439e89:	6a 01                	push   $0x1
439e8b:	51                   	push   %ecx
439e8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
439e8f:	8b 03                	mov    (%ebx),%eax
439e91:	68 3c d9 48 00       	push   $0x48d93c
439e96:	53                   	push   %ebx
439e97:	ff 50 14             	call   *0x14(%eax)
439e9a:	ff 75 fc             	push   -0x4(%ebp)
439e9d:	8b f0                	mov    %eax,%esi
439e9f:	e8 3c 6f fe ff       	call   0x420de0
439ea4:	59                   	pop    %ecx
439ea5:	eb 05                	jmp    0x439eac
439ea7:	8b 45 08             	mov    0x8(%ebp),%eax
439eaa:	89 30                	mov    %esi,(%eax)
439eac:	5f                   	pop    %edi
439ead:	8b c6                	mov    %esi,%eax
439eaf:	5e                   	pop    %esi
439eb0:	5b                   	pop    %ebx
439eb1:	c9                   	leave
439eb2:	c3                   	ret
439eb3:	55                   	push   %ebp
439eb4:	8b ec                	mov    %esp,%ebp
439eb6:	83 ec 54             	sub    $0x54,%esp
439eb9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439ebd:	53                   	push   %ebx
439ebe:	56                   	push   %esi
439ebf:	57                   	push   %edi
439ec0:	be 3c d9 48 00       	mov    $0x48d93c,%esi
439ec5:	8d 7d ac             	lea    -0x54(%ebp),%edi
439ec8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439ec9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439eca:	8b d9                	mov    %ecx,%ebx
439ecc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
439ecf:	8b 03                	mov    (%ebx),%eax
439ed1:	51                   	push   %ecx
439ed2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439ed3:	68 8c d9 48 00       	push   $0x48d98c
439ed8:	53                   	push   %ebx
439ed9:	89 55 cc             	mov    %edx,-0x34(%ebp)
439edc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439edd:	ff 10                	call   *(%eax)
439edf:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439ee2:	51                   	push   %ecx
439ee3:	85 c0                	test   %eax,%eax
439ee5:	78 13                	js     0x439efa
439ee7:	8b 75 d8             	mov    -0x28(%ebp),%esi
439eea:	56                   	push   %esi
439eeb:	8b 06                	mov    (%esi),%eax
439eed:	ff 50 0c             	call   *0xc(%eax)
439ef0:	8b 0e                	mov    (%esi),%ecx
439ef2:	56                   	push   %esi
439ef3:	8b f8                	mov    %eax,%edi
439ef5:	ff 51 08             	call   *0x8(%ecx)
439ef8:	eb 0f                	jmp    0x439f09
439efa:	8b 03                	mov    (%ebx),%eax
439efc:	68 00 08 00 00       	push   $0x800
439f01:	6a 00                	push   $0x0
439f03:	53                   	push   %ebx
439f04:	ff 50 10             	call   *0x10(%eax)
439f07:	8b f8                	mov    %eax,%edi
439f09:	85 ff                	test   %edi,%edi
439f0b:	0f 88 a8 01 00 00    	js     0x43a0b9
439f11:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439f14:	85 c9                	test   %ecx,%ecx
439f16:	0f 84 9d 01 00 00    	je     0x43a0b9
439f1c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439f20:	8b 01                	mov    (%ecx),%eax
439f22:	8d 55 e4             	lea    -0x1c(%ebp),%edx
439f25:	52                   	push   %edx
439f26:	8d 55 f8             	lea    -0x8(%ebp),%edx
439f29:	52                   	push   %edx
439f2a:	51                   	push   %ecx
439f2b:	ff 50 48             	call   *0x48(%eax)
439f2e:	85 c0                	test   %eax,%eax
439f30:	0f 88 7a 01 00 00    	js     0x43a0b0
439f36:	8b 4d f8             	mov    -0x8(%ebp),%ecx
439f39:	85 c9                	test   %ecx,%ecx
439f3b:	0f 84 6f 01 00 00    	je     0x43a0b0
439f41:	8b 01                	mov    (%ecx),%eax
439f43:	8d 55 f0             	lea    -0x10(%ebp),%edx
439f46:	52                   	push   %edx
439f47:	ff 75 e4             	push   -0x1c(%ebp)
439f4a:	51                   	push   %ecx
439f4b:	ff 50 14             	call   *0x14(%eax)
439f4e:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
439f52:	0f 84 dc 00 00 00    	je     0x43a034
439f58:	8b 45 f8             	mov    -0x8(%ebp),%eax
439f5b:	50                   	push   %eax
439f5c:	8b 08                	mov    (%eax),%ecx
439f5e:	ff 51 0c             	call   *0xc(%ecx)
439f61:	8b d8                	mov    %eax,%ebx
439f63:	33 ff                	xor    %edi,%edi
439f65:	33 f6                	xor    %esi,%esi
439f67:	89 7d dc             	mov    %edi,-0x24(%ebp)
439f6a:	85 db                	test   %ebx,%ebx
439f6c:	0f 84 bc 00 00 00    	je     0x43a02e
439f72:	85 ff                	test   %edi,%edi
439f74:	0f 85 b4 00 00 00    	jne    0x43a02e
439f7a:	8b 45 f8             	mov    -0x8(%ebp),%eax
439f7d:	21 7d f0             	and    %edi,-0x10(%ebp)
439f80:	8b 08                	mov    (%eax),%ecx
439f82:	8d 55 f0             	lea    -0x10(%ebp),%edx
439f85:	52                   	push   %edx
439f86:	56                   	push   %esi
439f87:	50                   	push   %eax
439f88:	ff 51 14             	call   *0x14(%ecx)
439f8b:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
439f8f:	0f 85 90 00 00 00    	jne    0x43a025
439f95:	8b 45 f8             	mov    -0x8(%ebp),%eax
439f98:	8d 55 f4             	lea    -0xc(%ebp),%edx
439f9b:	8b 08                	mov    (%eax),%ecx
439f9d:	52                   	push   %edx
439f9e:	56                   	push   %esi
439f9f:	50                   	push   %eax
439fa0:	ff 51 10             	call   *0x10(%ecx)
439fa3:	8b 45 f4             	mov    -0xc(%ebp),%eax
439fa6:	8d 55 d4             	lea    -0x2c(%ebp),%edx
439fa9:	8b 08                	mov    (%eax),%ecx
439fab:	52                   	push   %edx
439fac:	50                   	push   %eax
439fad:	ff 51 0c             	call   *0xc(%ecx)
439fb0:	8b 55 d4             	mov    -0x2c(%ebp),%edx
439fb3:	52                   	push   %edx
439fb4:	0f b7 42 30          	movzwl 0x30(%edx),%eax
439fb8:	89 45 e0             	mov    %eax,-0x20(%ebp)
439fbb:	8b 45 f4             	mov    -0xc(%ebp),%eax
439fbe:	50                   	push   %eax
439fbf:	8b 08                	mov    (%eax),%ecx
439fc1:	ff 51 4c             	call   *0x4c(%ecx)
439fc4:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
439fc8:	39 7d e0             	cmp    %edi,-0x20(%ebp)
439fcb:	76 4c                	jbe    0x43a019
439fcd:	8b 45 f4             	mov    -0xc(%ebp),%eax
439fd0:	8d 55 d0             	lea    -0x30(%ebp),%edx
439fd3:	8b 08                	mov    (%eax),%ecx
439fd5:	52                   	push   %edx
439fd6:	57                   	push   %edi
439fd7:	50                   	push   %eax
439fd8:	ff 51 20             	call   *0x20(%ecx)
439fdb:	85 c0                	test   %eax,%eax
439fdd:	75 34                	jne    0x43a013
439fdf:	8b 45 fc             	mov    -0x4(%ebp),%eax
439fe2:	8d 55 ec             	lea    -0x14(%ebp),%edx
439fe5:	8b 08                	mov    (%eax),%ecx
439fe7:	52                   	push   %edx
439fe8:	ff 75 d0             	push   -0x30(%ebp)
439feb:	50                   	push   %eax
439fec:	ff 51 38             	call   *0x38(%ecx)
439fef:	8b 45 ec             	mov    -0x14(%ebp),%eax
439ff2:	8d 55 e8             	lea    -0x18(%ebp),%edx
439ff5:	8b 08                	mov    (%eax),%ecx
439ff7:	52                   	push   %edx
439ff8:	6a 00                	push   $0x0
439ffa:	50                   	push   %eax
439ffb:	ff 51 48             	call   *0x48(%ecx)
439ffe:	8b 45 e8             	mov    -0x18(%ebp),%eax
43a001:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
43a004:	8b 45 ec             	mov    -0x14(%ebp),%eax
43a007:	50                   	push   %eax
43a008:	8b 08                	mov    (%eax),%ecx
43a00a:	0f 84 bf 00 00 00    	je     0x43a0cf
43a010:	ff 51 08             	call   *0x8(%ecx)
43a013:	47                   	inc    %edi
43a014:	3b 7d e0             	cmp    -0x20(%ebp),%edi
43a017:	72 b4                	jb     0x439fcd
43a019:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a01c:	50                   	push   %eax
43a01d:	8b 08                	mov    (%eax),%ecx
43a01f:	ff 51 08             	call   *0x8(%ecx)
43a022:	8b 7d dc             	mov    -0x24(%ebp),%edi
43a025:	46                   	inc    %esi
43a026:	3b f3                	cmp    %ebx,%esi
43a028:	0f 82 44 ff ff ff    	jb     0x439f72
43a02e:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
43a032:	75 7c                	jne    0x43a0b0
43a034:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a037:	8d 55 dc             	lea    -0x24(%ebp),%edx
43a03a:	8b 01                	mov    (%ecx),%eax
43a03c:	52                   	push   %edx
43a03d:	51                   	push   %ecx
43a03e:	ff 50 0c             	call   *0xc(%eax)
43a041:	8b 75 dc             	mov    -0x24(%ebp),%esi
43a044:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a047:	ff 75 dc             	push   -0x24(%ebp)
43a04a:	8d 7d ac             	lea    -0x54(%ebp),%edi
43a04d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a04e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a04f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a050:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a051:	8b 08                	mov    (%eax),%ecx
43a053:	50                   	push   %eax
43a054:	ff 51 4c             	call   *0x4c(%ecx)
43a057:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
43a05b:	75 53                	jne    0x43a0b0
43a05d:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
43a061:	8d 45 ec             	lea    -0x14(%ebp),%eax
43a064:	50                   	push   %eax
43a065:	8d 45 ac             	lea    -0x54(%ebp),%eax
43a068:	50                   	push   %eax
43a069:	ff 15 18 d8 48 00    	call   *0x48d818
43a06f:	85 c0                	test   %eax,%eax
43a071:	78 3d                	js     0x43a0b0
43a073:	ff 75 ec             	push   -0x14(%ebp)
43a076:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a079:	e8 9b 2d fd ff       	call   0x40ce19
43a07e:	ff 75 ec             	push   -0x14(%ebp)
43a081:	ff 15 10 d8 48 00    	call   *0x48d810
43a087:	6a ff                	push   $0xffffffff
43a089:	51                   	push   %ecx
43a08a:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a08d:	e8 af 04 00 00       	call   0x43a541
43a092:	50                   	push   %eax
43a093:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a096:	e8 f0 10 fd ff       	call   0x40b18b
43a09b:	8d 45 ac             	lea    -0x54(%ebp),%eax
43a09e:	50                   	push   %eax
43a09f:	ff 75 bc             	push   -0x44(%ebp)
43a0a2:	ff 15 1c d8 48 00    	call   *0x48d81c
43a0a8:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a0ab:	e8 87 2a fd ff       	call   0x40cb37
43a0b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a0b3:	51                   	push   %ecx
43a0b4:	8b 01                	mov    (%ecx),%eax
43a0b6:	ff 50 08             	call   *0x8(%eax)
43a0b9:	8d 55 ac             	lea    -0x54(%ebp),%edx
43a0bc:	8d 4d 08             	lea    0x8(%ebp),%ecx
43a0bf:	e8 8c f8 ff ff       	call   0x439950