404cae:	6e                   	outsb  %ds:(%esi),(%dx)
404caf:	73 66                	jae    0x404d17
404cb1:	6f                   	outsl  %ds:(%esi),(%dx)
404cb2:	72 6d                	jb     0x404d21
404cb4:	20 66 6f             	and    %ah,0x6f(%esi)
404cb7:	72 20                	jb     0x404cd9
404cb9:	78 38                	js     0x404cf3
404cbb:	36 2c 20             	ss sub $0x20,%al
404cbe:	43                   	inc    %ebx
404cbf:	52                   	push   %edx
404cc0:	59                   	pop    %ecx
404cc1:	50                   	push   %eax
404cc2:	54                   	push   %esp
404cc3:	4f                   	dec    %edi
404cc4:	47                   	inc    %edi
404cc5:	41                   	inc    %ecx
404cc6:	4d                   	dec    %ebp
404cc7:	53                   	push   %ebx
404cc8:	20 62 79             	and    %ah,0x79(%edx)
404ccb:	20 3c 61             	and    %bh,(%ecx,%eiz,2)
404cce:	70 70                	jo     0x404d40
404cd0:	72 6f                	jb     0x404d41
404cd2:	40                   	inc    %eax
404cd3:	6f                   	outsl  %ds:(%esi),(%dx)
404cd4:	70 65                	jo     0x404d3b
404cd6:	6e                   	outsb  %ds:(%esi),(%dx)
404cd7:	73 73                	jae    0x404d4c
404cd9:	6c                   	insb   (%dx),%es:(%edi)
404cda:	2e 6f                	outsl  %cs:(%esi),(%dx)
404cdc:	72 67                	jb     0x404d45
404cde:	3e 00 cc             	ds add %cl,%ah
404ce1:	cc                   	int3
404ce2:	cc                   	int3
404ce3:	cc                   	int3
404ce4:	cc                   	int3
404ce5:	cc                   	int3
404ce6:	cc                   	int3
404ce7:	cc                   	int3
404ce8:	cc                   	int3
404ce9:	cc                   	int3
404cea:	cc                   	int3
404ceb:	cc                   	int3
404cec:	cc                   	int3
404ced:	cc                   	int3
404cee:	cc                   	int3
404cef:	cc                   	int3
404cf0:	cc                   	int3
404cf1:	cc                   	int3
404cf2:	cc                   	int3
404cf3:	cc                   	int3
404cf4:	cc                   	int3
404cf5:	cc                   	int3
404cf6:	cc                   	int3
404cf7:	cc                   	int3
404cf8:	cc                   	int3
404cf9:	cc                   	int3
404cfa:	cc                   	int3
404cfb:	cc                   	int3
404cfc:	cc                   	int3
404cfd:	cc                   	int3
404cfe:	cc                   	int3
404cff:	cc                   	int3
404d00:	55                   	push   %ebp
404d01:	53                   	push   %ebx
404d02:	56                   	push   %esi
404d03:	57                   	push   %edi
404d04:	8b 74 24 14          	mov    0x14(%esp),%esi
404d08:	8b 7c 24 18          	mov    0x18(%esp),%edi
404d0c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
404d10:	89 e3                	mov    %esp,%ebx
404d12:	e8 00 00 00 00       	call   0x404d17
404d17:	5d                   	pop    %ebp
404d18:	8d ad e9 02 00 00    	lea    0x2e9(%ebp),%ebp
404d1e:	83 ec 10             	sub    $0x10,%esp
404d21:	83 e4 c0             	and    $0xffffffc0,%esp
404d24:	c1 e0 06             	shl    $0x6,%eax
404d27:	01 f8                	add    %edi,%eax
404d29:	89 34 24             	mov    %esi,(%esp)
404d2c:	89 7c 24 04          	mov    %edi,0x4(%esp)
404d30:	89 44 24 08          	mov    %eax,0x8(%esp)
404d34:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
404d38:	8d 15 a0 73 71 00    	lea    0x7173a0,%edx
404d3e:	8b 0a                	mov    (%edx),%ecx
404d40:	8b 5a 04             	mov    0x4(%edx),%ebx
404d43:	f7 c1 00 00 10 00    	test   $0x100000,%ecx
404d49:	0f 85 61 00 00 00    	jne    0x404db0
404d4f:	8b 52 08             	mov    0x8(%edx),%edx
404d52:	f7 c1 00 00 00 01    	test   $0x1000000,%ecx
404d58:	0f 84 38 00 00 00    	je     0x404d96
404d5e:	81 e1 00 00 00 40    	and    $0x40000000,%ecx
404d64:	81 e3 00 02 00 10    	and    $0x10000200,%ebx
404d6a:	f7 c2 00 00 00 20    	test   $0x20000000,%edx
404d70:	0f 85 4a 24 00 00    	jne    0x4071c0
404d76:	09 d9                	or     %ebx,%ecx
404d78:	81 e1 00 00 00 50    	and    $0x50000000,%ecx
404d7e:	81 f9 00 00 00 50    	cmp    $0x50000000,%ecx
404d84:	0f 84 d6 35 00 00    	je     0x408360
404d8a:	f7 c3 00 02 00 00    	test   $0x200,%ebx
404d90:	0f 85 6a 27 00 00    	jne    0x407500
404d96:	29 f8                	sub    %edi,%eax
404d98:	3d 00 01 00 00       	cmp    $0x100,%eax
404d9d:	0f 83 bd 03 00 00    	jae    0x405160
404da3:	e9 08 00 00 00       	jmp    0x404db0
404da8:	90                   	nop
404da9:	90                   	nop
404daa:	90                   	nop
404dab:	90                   	nop
404dac:	90                   	nop
404dad:	90                   	nop
404dae:	90                   	nop
404daf:	90                   	nop
404db0:	8b 07                	mov    (%edi),%eax
404db2:	8b 5f 04             	mov    0x4(%edi),%ebx
404db5:	8b 4f 08             	mov    0x8(%edi),%ecx
404db8:	0f c8                	bswap  %eax
404dba:	8b 57 0c             	mov    0xc(%edi),%edx
404dbd:	0f cb                	bswap  %ebx
404dbf:	50                   	push   %eax
404dc0:	0f c9                	bswap  %ecx
404dc2:	53                   	push   %ebx
404dc3:	0f ca                	bswap  %edx
404dc5:	51                   	push   %ecx
404dc6:	52                   	push   %edx
404dc7:	8b 47 10             	mov    0x10(%edi),%eax
404dca:	8b 5f 14             	mov    0x14(%edi),%ebx
404dcd:	8b 4f 18             	mov    0x18(%edi),%ecx
404dd0:	0f c8                	bswap  %eax
404dd2:	8b 57 1c             	mov    0x1c(%edi),%edx
404dd5:	0f cb                	bswap  %ebx
404dd7:	50                   	push   %eax
404dd8:	0f c9                	bswap  %ecx
404dda:	53                   	push   %ebx
404ddb:	0f ca                	bswap  %edx
404ddd:	51                   	push   %ecx
404dde:	52                   	push   %edx
404ddf:	8b 47 20             	mov    0x20(%edi),%eax
404de2:	8b 5f 24             	mov    0x24(%edi),%ebx
404de5:	8b 4f 28             	mov    0x28(%edi),%ecx
404de8:	0f c8                	bswap  %eax
404dea:	8b 57 2c             	mov    0x2c(%edi),%edx
404ded:	0f cb                	bswap  %ebx
404def:	50                   	push   %eax
404df0:	0f c9                	bswap  %ecx
404df2:	53                   	push   %ebx
404df3:	0f ca                	bswap  %edx
404df5:	51                   	push   %ecx
404df6:	52                   	push   %edx
404df7:	8b 47 30             	mov    0x30(%edi),%eax
404dfa:	8b 5f 34             	mov    0x34(%edi),%ebx
404dfd:	8b 4f 38             	mov    0x38(%edi),%ecx
404e00:	0f c8                	bswap  %eax
404e02:	8b 57 3c             	mov    0x3c(%edi),%edx
404e05:	0f cb                	bswap  %ebx
404e07:	50                   	push   %eax
404e08:	0f c9                	bswap  %ecx
404e0a:	53                   	push   %ebx
404e0b:	0f ca                	bswap  %edx
404e0d:	51                   	push   %ecx
404e0e:	52                   	push   %edx
404e0f:	83 c7 40             	add    $0x40,%edi
404e12:	8d 64 24 dc          	lea    -0x24(%esp),%esp
404e16:	89 7c 24 68          	mov    %edi,0x68(%esp)
404e1a:	8b 06                	mov    (%esi),%eax
404e1c:	8b 5e 04             	mov    0x4(%esi),%ebx
404e1f:	8b 4e 08             	mov    0x8(%esi),%ecx
404e22:	8b 7e 0c             	mov    0xc(%esi),%edi
404e25:	89 5c 24 08          	mov    %ebx,0x8(%esp)
404e29:	31 cb                	xor    %ecx,%ebx
404e2b:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
404e2f:	89 7c 24 10          	mov    %edi,0x10(%esp)
404e33:	89 1c 24             	mov    %ebx,(%esp)
404e36:	8b 56 10             	mov    0x10(%esi),%edx
404e39:	8b 5e 14             	mov    0x14(%esi),%ebx
404e3c:	8b 4e 18             	mov    0x18(%esi),%ecx
404e3f:	8b 7e 1c             	mov    0x1c(%esi),%edi
404e42:	89 5c 24 18          	mov    %ebx,0x18(%esp)
404e46:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
404e4a:	89 7c 24 20          	mov    %edi,0x20(%esp)
404e4e:	90                   	nop
404e4f:	90                   	nop
404e50:	89 d1                	mov    %edx,%ecx
404e52:	8b 74 24 18          	mov    0x18(%esp),%esi
404e56:	c1 c9 0e             	ror    $0xe,%ecx
404e59:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
404e5d:	31 d1                	xor    %edx,%ecx
404e5f:	31 fe                	xor    %edi,%esi
404e61:	8b 5c 24 60          	mov    0x60(%esp),%ebx
404e65:	c1 c9 05             	ror    $0x5,%ecx
404e68:	21 d6                	and    %edx,%esi
404e6a:	89 54 24 14          	mov    %edx,0x14(%esp)
404e6e:	31 ca                	xor    %ecx,%edx
404e70:	03 5c 24 20          	add    0x20(%esp),%ebx
404e74:	31 fe                	xor    %edi,%esi
404e76:	c1 ca 06             	ror    $0x6,%edx
404e79:	89 c1                	mov    %eax,%ecx
404e7b:	01 f3                	add    %esi,%ebx
404e7d:	c1 c9 09             	ror    $0x9,%ecx
404e80:	01 d3                	add    %edx,%ebx
404e82:	8b 7c 24 08          	mov    0x8(%esp),%edi
404e86:	31 c1                	xor    %eax,%ecx
404e88:	89 44 24 04          	mov    %eax,0x4(%esp)
404e8c:	8d 64 24 fc          	lea    -0x4(%esp),%esp
404e90:	c1 c9 0b             	ror    $0xb,%ecx
404e93:	8b 75 00             	mov    0x0(%ebp),%esi
404e96:	31 c1                	xor    %eax,%ecx
404e98:	8b 54 24 14          	mov    0x14(%esp),%edx
404e9c:	31 f8                	xor    %edi,%eax
404e9e:	c1 c9 02             	ror    $0x2,%ecx
404ea1:	01 f3                	add    %esi,%ebx
404ea3:	89 04 24             	mov    %eax,(%esp)
404ea6:	01 da                	add    %ebx,%edx
404ea8:	23 44 24 04          	and    0x4(%esp),%eax
404eac:	01 cb                	add    %ecx,%ebx
404eae:	31 f8                	xor    %edi,%eax
404eb0:	83 c5 04             	add    $0x4,%ebp
404eb3:	01 d8                	add    %ebx,%eax
404eb5:	81 fe 74 f1 9b c1    	cmp    $0xc19bf174,%esi
404ebb:	0f 85 8f ff ff ff    	jne    0x404e50
404ec1:	8b 8c 24 9c 00 00 00 	mov    0x9c(%esp),%ecx
404ec8:	e9 03 00 00 00       	jmp    0x404ed0
404ecd:	90                   	nop
404ece:	90                   	nop
404ecf:	90                   	nop
404ed0:	89 cb                	mov    %ecx,%ebx
404ed2:	8b 74 24 68          	mov    0x68(%esp),%esi
404ed6:	c1 c9 0b             	ror    $0xb,%ecx
404ed9:	89 f7                	mov    %esi,%edi
404edb:	c1 ce 02             	ror    $0x2,%esi
404ede:	31 d9                	xor    %ebx,%ecx
404ee0:	c1 eb 03             	shr    $0x3,%ebx
404ee3:	c1 c9 07             	ror    $0x7,%ecx
404ee6:	31 fe                	xor    %edi,%esi
404ee8:	31 cb                	xor    %ecx,%ebx
404eea:	c1 ce 11             	ror    $0x11,%esi
404eed:	03 9c 24 a0 00 00 00 	add    0xa0(%esp),%ebx
404ef4:	c1 ef 0a             	shr    $0xa,%edi
404ef7:	03 5c 24 7c          	add    0x7c(%esp),%ebx
404efb:	89 d1                	mov    %edx,%ecx
404efd:	31 f7                	xor    %esi,%edi
404eff:	8b 74 24 18          	mov    0x18(%esp),%esi
404f03:	c1 c9 0e             	ror    $0xe,%ecx
404f06:	01 fb                	add    %edi,%ebx
404f08:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
404f0c:	31 d1                	xor    %edx,%ecx
404f0e:	31 fe                	xor    %edi,%esi
404f10:	89 5c 24 60          	mov    %ebx,0x60(%esp)
404f14:	c1 c9 05             	ror    $0x5,%ecx
404f17:	21 d6                	and    %edx,%esi
404f19:	89 54 24 14          	mov    %edx,0x14(%esp)
404f1d:	31 ca                	xor    %ecx,%edx
404f1f:	03 5c 24 20          	add    0x20(%esp),%ebx
404f23:	31 fe                	xor    %edi,%esi
404f25:	c1 ca 06             	ror    $0x6,%edx
404f28:	89 c1                	mov    %eax,%ecx
404f2a:	01 f3                	add    %esi,%ebx
404f2c:	c1 c9 09             	ror    $0x9,%ecx
404f2f:	01 d3                	add    %edx,%ebx
404f31:	8b 7c 24 08          	mov    0x8(%esp),%edi
404f35:	31 c1                	xor    %eax,%ecx
404f37:	89 44 24 04          	mov    %eax,0x4(%esp)
404f3b:	8d 64 24 fc          	lea    -0x4(%esp),%esp
404f3f:	c1 c9 0b             	ror    $0xb,%ecx
404f42:	8b 75 00             	mov    0x0(%ebp),%esi
404f45:	31 c1                	xor    %eax,%ecx
404f47:	8b 54 24 14          	mov    0x14(%esp),%edx
404f4b:	31 f8                	xor    %edi,%eax
404f4d:	c1 c9 02             	ror    $0x2,%ecx
404f50:	01 f3                	add    %esi,%ebx
404f52:	89 04 24             	mov    %eax,(%esp)
404f55:	01 da                	add    %ebx,%edx
404f57:	23 44 24 04          	and    0x4(%esp),%eax
404f5b:	01 cb                	add    %ecx,%ebx
404f5d:	31 f8                	xor    %edi,%eax
404f5f:	8b 8c 24 9c 00 00 00 	mov    0x9c(%esp),%ecx
404f66:	83 c5 04             	add    $0x4,%ebp
404f69:	01 d8                	add    %ebx,%eax
404f6b:	81 fe f2 78 71 c6    	cmp    $0xc67178f2,%esi
404f71:	0f 85 59 ff ff ff    	jne    0x404ed0
404f77:	8b b4 24 64 01 00 00 	mov    0x164(%esp),%esi
404f7e:	8b 5c 24 08          	mov    0x8(%esp),%ebx
404f82:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404f86:	03 06                	add    (%esi),%eax
404f88:	03 5e 04             	add    0x4(%esi),%ebx
404f8b:	03 7e 08             	add    0x8(%esi),%edi
404f8e:	03 4e 0c             	add    0xc(%esi),%ecx
404f91:	89 06                	mov    %eax,(%esi)
404f93:	89 5e 04             	mov    %ebx,0x4(%esi)
404f96:	89 7e 08             	mov    %edi,0x8(%esi)
404f99:	89 4e 0c             	mov    %ecx,0xc(%esi)
404f9c:	8b 44 24 18          	mov    0x18(%esp),%eax
404fa0:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
404fa4:	8b 4c 24 20          	mov    0x20(%esp),%ecx
404fa8:	8b bc 24 68 01 00 00 	mov    0x168(%esp),%edi
404faf:	03 56 10             	add    0x10(%esi),%edx
404fb2:	03 46 14             	add    0x14(%esi),%eax
404fb5:	03 5e 18             	add    0x18(%esi),%ebx
404fb8:	03 4e 1c             	add    0x1c(%esi),%ecx
404fbb:	89 56 10             	mov    %edx,0x10(%esi)
404fbe:	89 46 14             	mov    %eax,0x14(%esi)
404fc1:	89 5e 18             	mov    %ebx,0x18(%esi)
404fc4:	89 4e 1c             	mov    %ecx,0x1c(%esi)
404fc7:	8d a4 24 64 01 00 00 	lea    0x164(%esp),%esp
404fce:	81 ed 00 01 00 00    	sub    $0x100,%ebp
404fd4:	3b 7c 24 08          	cmp    0x8(%esp),%edi
404fd8:	0f 82 d2 fd ff ff    	jb     0x404db0
404fde:	8b 64 24 0c          	mov    0xc(%esp),%esp
404fe2:	5f                   	pop    %edi
404fe3:	5e                   	pop    %esi
404fe4:	5b                   	pop    %ebx
404fe5:	5d                   	pop    %ebp
404fe6:	c3                   	ret
404fe7:	90                   	nop
404fe8:	90                   	nop
404fe9:	90                   	nop
404fea:	90                   	nop
404feb:	90                   	nop
404fec:	90                   	nop
404fed:	90                   	nop
404fee:	90                   	nop
404fef:	90                   	nop
404ff0:	90                   	nop
404ff1:	90                   	nop
404ff2:	90                   	nop
404ff3:	90                   	nop
404ff4:	90                   	nop
404ff5:	90                   	nop
404ff6:	90                   	nop
404ff7:	90                   	nop
404ff8:	90                   	nop
404ff9:	90                   	nop
404ffa:	90                   	nop
404ffb:	90                   	nop
404ffc:	90                   	nop
404ffd:	90                   	nop
404ffe:	90                   	nop
404fff:	90                   	nop
405000:	98                   	cwtl
405001:	2f                   	das
405002:	8a 42 91             	mov    -0x6f(%edx),%al
405005:	44                   	inc    %esp
405006:	37                   	aaa
405007:	71 cf                	jno    0x404fd8
405009:	fb                   	sti
40500a:	c0 b5 a5 db b5 e9 5b 	shlb   $0x5b,-0x164a245b(%ebp)
405011:	c2 56 39             	ret    $0x3956
405014:	f1                   	int1
405015:	11 f1                	adc    %esi,%ecx
405017:	59                   	pop    %ecx
405018:	a4                   	movsb  %ds:(%esi),%es:(%edi)
405019:	82 3f 92             	cmpb   $0x92,(%edi)