407e29:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
407e2d:	31 ca                	xor    %ecx,%edx
407e2f:	31 f7                	xor    %esi,%edi
407e31:	c1 ca 06             	ror    $0x6,%edx
407e34:	89 d9                	mov    %ebx,%ecx
407e36:	01 fa                	add    %edi,%edx
407e38:	8b 3c 24             	mov    (%esp),%edi
407e3b:	89 de                	mov    %ebx,%esi
407e3d:	c1 c9 09             	ror    $0x9,%ecx
407e40:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
407e44:	31 d9                	xor    %ebx,%ecx
407e46:	31 fb                	xor    %edi,%ebx
407e48:	03 54 24 18          	add    0x18(%esp),%edx
407e4c:	c1 c9 0b             	ror    $0xb,%ecx
407e4f:	21 d8                	and    %ebx,%eax
407e51:	31 f1                	xor    %esi,%ecx
407e53:	03 54 24 24          	add    0x24(%esp),%edx
407e57:	31 f8                	xor    %edi,%eax
407e59:	c1 c9 02             	ror    $0x2,%ecx
407e5c:	01 d0                	add    %edx,%eax
407e5e:	03 54 24 08          	add    0x8(%esp),%edx
407e62:	01 c8                	add    %ecx,%eax
407e64:	89 d1                	mov    %edx,%ecx
407e66:	c1 ca 0e             	ror    $0xe,%edx
407e69:	8b 74 24 0c          	mov    0xc(%esp),%esi
407e6d:	31 ca                	xor    %ecx,%edx
407e6f:	8b 7c 24 10          	mov    0x10(%esp),%edi
407e73:	31 fe                	xor    %edi,%esi
407e75:	c1 ca 05             	ror    $0x5,%edx
407e78:	21 ce                	and    %ecx,%esi
407e7a:	89 4c 24 08          	mov    %ecx,0x8(%esp)
407e7e:	31 ca                	xor    %ecx,%edx
407e80:	31 f7                	xor    %esi,%edi
407e82:	c1 ca 06             	ror    $0x6,%edx
407e85:	89 c1                	mov    %eax,%ecx
407e87:	01 fa                	add    %edi,%edx
407e89:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
407e8d:	89 c6                	mov    %eax,%esi
407e8f:	c1 c9 09             	ror    $0x9,%ecx
407e92:	89 44 24 18          	mov    %eax,0x18(%esp)
407e96:	31 c1                	xor    %eax,%ecx
407e98:	31 f8                	xor    %edi,%eax
407e9a:	03 54 24 14          	add    0x14(%esp),%edx
407e9e:	c1 c9 0b             	ror    $0xb,%ecx
407ea1:	21 c3                	and    %eax,%ebx
407ea3:	31 f1                	xor    %esi,%ecx
407ea5:	03 54 24 28          	add    0x28(%esp),%edx
407ea9:	31 fb                	xor    %edi,%ebx
407eab:	c1 c9 02             	ror    $0x2,%ecx
407eae:	01 d3                	add    %edx,%ebx
407eb0:	03 54 24 04          	add    0x4(%esp),%edx
407eb4:	01 cb                	add    %ecx,%ebx
407eb6:	89 d1                	mov    %edx,%ecx
407eb8:	c1 ca 0e             	ror    $0xe,%edx
407ebb:	8b 74 24 08          	mov    0x8(%esp),%esi
407ebf:	31 ca                	xor    %ecx,%edx
407ec1:	8b 7c 24 0c          	mov    0xc(%esp),%edi
407ec5:	31 fe                	xor    %edi,%esi
407ec7:	c1 ca 05             	ror    $0x5,%edx
407eca:	21 ce                	and    %ecx,%esi
407ecc:	89 4c 24 04          	mov    %ecx,0x4(%esp)
407ed0:	31 ca                	xor    %ecx,%edx
407ed2:	31 f7                	xor    %esi,%edi
407ed4:	c1 ca 06             	ror    $0x6,%edx
407ed7:	89 d9                	mov    %ebx,%ecx
407ed9:	01 fa                	add    %edi,%edx
407edb:	8b 7c 24 18          	mov    0x18(%esp),%edi
407edf:	89 de                	mov    %ebx,%esi
407ee1:	c1 c9 09             	ror    $0x9,%ecx
407ee4:	89 5c 24 14          	mov    %ebx,0x14(%esp)
407ee8:	31 d9                	xor    %ebx,%ecx
407eea:	31 fb                	xor    %edi,%ebx
407eec:	03 54 24 10          	add    0x10(%esp),%edx
407ef0:	c1 c9 0b             	ror    $0xb,%ecx
407ef3:	21 d8                	and    %ebx,%eax
407ef5:	31 f1                	xor    %esi,%ecx
407ef7:	03 54 24 2c          	add    0x2c(%esp),%edx
407efb:	31 f8                	xor    %edi,%eax
407efd:	c1 c9 02             	ror    $0x2,%ecx
407f00:	01 d0                	add    %edx,%eax
407f02:	03 14 24             	add    (%esp),%edx
407f05:	01 c8                	add    %ecx,%eax
407f07:	89 d1                	mov    %edx,%ecx
407f09:	c1 ca 0e             	ror    $0xe,%edx
407f0c:	8b 74 24 04          	mov    0x4(%esp),%esi
407f10:	31 ca                	xor    %ecx,%edx
407f12:	8b 7c 24 08          	mov    0x8(%esp),%edi
407f16:	31 fe                	xor    %edi,%esi
407f18:	c1 ca 05             	ror    $0x5,%edx
407f1b:	21 ce                	and    %ecx,%esi
407f1d:	89 0c 24             	mov    %ecx,(%esp)
407f20:	31 ca                	xor    %ecx,%edx
407f22:	31 f7                	xor    %esi,%edi
407f24:	c1 ca 06             	ror    $0x6,%edx
407f27:	89 c1                	mov    %eax,%ecx
407f29:	01 fa                	add    %edi,%edx
407f2b:	8b 7c 24 14          	mov    0x14(%esp),%edi
407f2f:	89 c6                	mov    %eax,%esi
407f31:	c1 c9 09             	ror    $0x9,%ecx
407f34:	89 44 24 10          	mov    %eax,0x10(%esp)
407f38:	31 c1                	xor    %eax,%ecx
407f3a:	31 f8                	xor    %edi,%eax
407f3c:	03 54 24 0c          	add    0xc(%esp),%edx
407f40:	c1 c9 0b             	ror    $0xb,%ecx
407f43:	21 c3                	and    %eax,%ebx
407f45:	31 f1                	xor    %esi,%ecx
407f47:	03 54 24 30          	add    0x30(%esp),%edx
407f4b:	31 fb                	xor    %edi,%ebx
407f4d:	c1 c9 02             	ror    $0x2,%ecx
407f50:	01 d3                	add    %edx,%ebx
407f52:	03 54 24 1c          	add    0x1c(%esp),%edx
407f56:	01 cb                	add    %ecx,%ebx
407f58:	89 d1                	mov    %edx,%ecx
407f5a:	c1 ca 0e             	ror    $0xe,%edx
407f5d:	8b 34 24             	mov    (%esp),%esi
407f60:	31 ca                	xor    %ecx,%edx
407f62:	8b 7c 24 04          	mov    0x4(%esp),%edi
407f66:	31 fe                	xor    %edi,%esi
407f68:	c1 ca 05             	ror    $0x5,%edx
407f6b:	21 ce                	and    %ecx,%esi
407f6d:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
407f71:	31 ca                	xor    %ecx,%edx
407f73:	31 f7                	xor    %esi,%edi
407f75:	c1 ca 06             	ror    $0x6,%edx
407f78:	89 d9                	mov    %ebx,%ecx
407f7a:	01 fa                	add    %edi,%edx
407f7c:	8b 7c 24 10          	mov    0x10(%esp),%edi
407f80:	89 de                	mov    %ebx,%esi
407f82:	c1 c9 09             	ror    $0x9,%ecx
407f85:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
407f89:	31 d9                	xor    %ebx,%ecx
407f8b:	31 fb                	xor    %edi,%ebx
407f8d:	03 54 24 08          	add    0x8(%esp),%edx
407f91:	c1 c9 0b             	ror    $0xb,%ecx
407f94:	21 d8                	and    %ebx,%eax
407f96:	31 f1                	xor    %esi,%ecx
407f98:	03 54 24 34          	add    0x34(%esp),%edx
407f9c:	31 f8                	xor    %edi,%eax
407f9e:	c1 c9 02             	ror    $0x2,%ecx
407fa1:	01 d0                	add    %edx,%eax
407fa3:	03 54 24 18          	add    0x18(%esp),%edx
407fa7:	01 c8                	add    %ecx,%eax
407fa9:	89 d1                	mov    %edx,%ecx
407fab:	c1 ca 0e             	ror    $0xe,%edx
407fae:	8b 74 24 1c          	mov    0x1c(%esp),%esi
407fb2:	31 ca                	xor    %ecx,%edx
407fb4:	8b 3c 24             	mov    (%esp),%edi
407fb7:	31 fe                	xor    %edi,%esi
407fb9:	c1 ca 05             	ror    $0x5,%edx
407fbc:	21 ce                	and    %ecx,%esi
407fbe:	89 4c 24 18          	mov    %ecx,0x18(%esp)
407fc2:	31 ca                	xor    %ecx,%edx
407fc4:	31 f7                	xor    %esi,%edi
407fc6:	c1 ca 06             	ror    $0x6,%edx
407fc9:	89 c1                	mov    %eax,%ecx
407fcb:	01 fa                	add    %edi,%edx
407fcd:	8b 7c 24 0c          	mov    0xc(%esp),%edi
407fd1:	89 c6                	mov    %eax,%esi
407fd3:	c1 c9 09             	ror    $0x9,%ecx
407fd6:	89 44 24 08          	mov    %eax,0x8(%esp)
407fda:	31 c1                	xor    %eax,%ecx
407fdc:	31 f8                	xor    %edi,%eax
407fde:	03 54 24 04          	add    0x4(%esp),%edx
407fe2:	c1 c9 0b             	ror    $0xb,%ecx
407fe5:	21 c3                	and    %eax,%ebx
407fe7:	31 f1                	xor    %esi,%ecx
407fe9:	03 54 24 38          	add    0x38(%esp),%edx
407fed:	31 fb                	xor    %edi,%ebx
407fef:	c1 c9 02             	ror    $0x2,%ecx
407ff2:	01 d3                	add    %edx,%ebx
407ff4:	03 54 24 14          	add    0x14(%esp),%edx
407ff8:	01 cb                	add    %ecx,%ebx
407ffa:	89 d1                	mov    %edx,%ecx
407ffc:	c1 ca 0e             	ror    $0xe,%edx
407fff:	8b 74 24 18          	mov    0x18(%esp),%esi
408003:	31 ca                	xor    %ecx,%edx
408005:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
408009:	31 fe                	xor    %edi,%esi
40800b:	c1 ca 05             	ror    $0x5,%edx
40800e:	21 ce                	and    %ecx,%esi
408010:	89 4c 24 14          	mov    %ecx,0x14(%esp)
408014:	31 ca                	xor    %ecx,%edx
408016:	31 f7                	xor    %esi,%edi
408018:	c1 ca 06             	ror    $0x6,%edx
40801b:	89 d9                	mov    %ebx,%ecx
40801d:	01 fa                	add    %edi,%edx
40801f:	8b 7c 24 08          	mov    0x8(%esp),%edi
408023:	89 de                	mov    %ebx,%esi
408025:	c1 c9 09             	ror    $0x9,%ecx
408028:	89 5c 24 04          	mov    %ebx,0x4(%esp)
40802c:	31 d9                	xor    %ebx,%ecx
40802e:	31 fb                	xor    %edi,%ebx
408030:	03 14 24             	add    (%esp),%edx
408033:	c1 c9 0b             	ror    $0xb,%ecx
408036:	21 d8                	and    %ebx,%eax
408038:	31 f1                	xor    %esi,%ecx
40803a:	03 54 24 3c          	add    0x3c(%esp),%edx
40803e:	31 f8                	xor    %edi,%eax
408040:	c1 c9 02             	ror    $0x2,%ecx
408043:	01 d0                	add    %edx,%eax
408045:	03 54 24 10          	add    0x10(%esp),%edx
408049:	01 c8                	add    %ecx,%eax
40804b:	89 d1                	mov    %edx,%ecx
40804d:	c1 ca 0e             	ror    $0xe,%edx
408050:	8b 74 24 14          	mov    0x14(%esp),%esi
408054:	31 ca                	xor    %ecx,%edx
408056:	8b 7c 24 18          	mov    0x18(%esp),%edi
40805a:	31 fe                	xor    %edi,%esi
40805c:	c1 ca 05             	ror    $0x5,%edx
40805f:	21 ce                	and    %ecx,%esi
408061:	89 4c 24 10          	mov    %ecx,0x10(%esp)
408065:	31 ca                	xor    %ecx,%edx
408067:	31 f7                	xor    %esi,%edi
408069:	c1 ca 06             	ror    $0x6,%edx
40806c:	89 c1                	mov    %eax,%ecx
40806e:	01 fa                	add    %edi,%edx
408070:	8b 7c 24 04          	mov    0x4(%esp),%edi
408074:	89 c6                	mov    %eax,%esi
408076:	c1 c9 09             	ror    $0x9,%ecx
408079:	89 04 24             	mov    %eax,(%esp)
40807c:	31 c1                	xor    %eax,%ecx
40807e:	31 f8                	xor    %edi,%eax
408080:	03 54 24 1c          	add    0x1c(%esp),%edx
408084:	c1 c9 0b             	ror    $0xb,%ecx
408087:	21 c3                	and    %eax,%ebx
408089:	31 f1                	xor    %esi,%ecx
40808b:	03 54 24 40          	add    0x40(%esp),%edx
40808f:	31 fb                	xor    %edi,%ebx
408091:	c1 c9 02             	ror    $0x2,%ecx
408094:	01 d3                	add    %edx,%ebx
408096:	03 54 24 0c          	add    0xc(%esp),%edx
40809a:	01 cb                	add    %ecx,%ebx
40809c:	89 d1                	mov    %edx,%ecx
40809e:	c1 ca 0e             	ror    $0xe,%edx
4080a1:	8b 74 24 10          	mov    0x10(%esp),%esi
4080a5:	31 ca                	xor    %ecx,%edx
4080a7:	8b 7c 24 14          	mov    0x14(%esp),%edi
4080ab:	31 fe                	xor    %edi,%esi
4080ad:	c1 ca 05             	ror    $0x5,%edx
4080b0:	21 ce                	and    %ecx,%esi
4080b2:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4080b6:	31 ca                	xor    %ecx,%edx
4080b8:	31 f7                	xor    %esi,%edi
4080ba:	c1 ca 06             	ror    $0x6,%edx
4080bd:	89 d9                	mov    %ebx,%ecx
4080bf:	01 fa                	add    %edi,%edx
4080c1:	8b 3c 24             	mov    (%esp),%edi
4080c4:	89 de                	mov    %ebx,%esi
4080c6:	c1 c9 09             	ror    $0x9,%ecx
4080c9:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4080cd:	31 d9                	xor    %ebx,%ecx
4080cf:	31 fb                	xor    %edi,%ebx
4080d1:	03 54 24 18          	add    0x18(%esp),%edx
4080d5:	c1 c9 0b             	ror    $0xb,%ecx
4080d8:	21 d8                	and    %ebx,%eax
4080da:	31 f1                	xor    %esi,%ecx
4080dc:	03 54 24 44          	add    0x44(%esp),%edx
4080e0:	31 f8                	xor    %edi,%eax
4080e2:	c1 c9 02             	ror    $0x2,%ecx
4080e5:	01 d0                	add    %edx,%eax
4080e7:	03 54 24 08          	add    0x8(%esp),%edx
4080eb:	01 c8                	add    %ecx,%eax
4080ed:	89 d1                	mov    %edx,%ecx
4080ef:	c1 ca 0e             	ror    $0xe,%edx
4080f2:	8b 74 24 0c          	mov    0xc(%esp),%esi
4080f6:	31 ca                	xor    %ecx,%edx
4080f8:	8b 7c 24 10          	mov    0x10(%esp),%edi
4080fc:	31 fe                	xor    %edi,%esi
4080fe:	c1 ca 05             	ror    $0x5,%edx
408101:	21 ce                	and    %ecx,%esi
408103:	89 4c 24 08          	mov    %ecx,0x8(%esp)
408107:	31 ca                	xor    %ecx,%edx
408109:	31 f7                	xor    %esi,%edi
40810b:	c1 ca 06             	ror    $0x6,%edx
40810e:	89 c1                	mov    %eax,%ecx
408110:	01 fa                	add    %edi,%edx
408112:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
408116:	89 c6                	mov    %eax,%esi
408118:	c1 c9 09             	ror    $0x9,%ecx
40811b:	89 44 24 18          	mov    %eax,0x18(%esp)
40811f:	31 c1                	xor    %eax,%ecx
408121:	31 f8                	xor    %edi,%eax
408123:	03 54 24 14          	add    0x14(%esp),%edx
408127:	c1 c9 0b             	ror    $0xb,%ecx
40812a:	21 c3                	and    %eax,%ebx
40812c:	31 f1                	xor    %esi,%ecx
40812e:	03 54 24 48          	add    0x48(%esp),%edx
408132:	31 fb                	xor    %edi,%ebx
408134:	c1 c9 02             	ror    $0x2,%ecx
408137:	01 d3                	add    %edx,%ebx
408139:	03 54 24 04          	add    0x4(%esp),%edx
40813d:	01 cb                	add    %ecx,%ebx
40813f:	89 d1                	mov    %edx,%ecx
408141:	c1 ca 0e             	ror    $0xe,%edx
408144:	8b 74 24 08          	mov    0x8(%esp),%esi
408148:	31 ca                	xor    %ecx,%edx
40814a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40814e:	31 fe                	xor    %edi,%esi
408150:	c1 ca 05             	ror    $0x5,%edx
408153:	21 ce                	and    %ecx,%esi
408155:	89 4c 24 04          	mov    %ecx,0x4(%esp)
408159:	31 ca                	xor    %ecx,%edx
40815b:	31 f7                	xor    %esi,%edi
40815d:	c1 ca 06             	ror    $0x6,%edx
408160:	89 d9                	mov    %ebx,%ecx
408162:	01 fa                	add    %edi,%edx
408164:	8b 7c 24 18          	mov    0x18(%esp),%edi
408168:	89 de                	mov    %ebx,%esi
40816a:	c1 c9 09             	ror    $0x9,%ecx
40816d:	89 5c 24 14          	mov    %ebx,0x14(%esp)
408171:	31 d9                	xor    %ebx,%ecx
408173:	31 fb                	xor    %edi,%ebx
408175:	03 54 24 10          	add    0x10(%esp),%edx
408179:	c1 c9 0b             	ror    $0xb,%ecx
40817c:	21 d8                	and    %ebx,%eax
40817e:	31 f1                	xor    %esi,%ecx
408180:	03 54 24 4c          	add    0x4c(%esp),%edx
408184:	31 f8                	xor    %edi,%eax
408186:	c1 c9 02             	ror    $0x2,%ecx
408189:	01 d0                	add    %edx,%eax
40818b:	03 14 24             	add    (%esp),%edx
40818e:	01 c8                	add    %ecx,%eax
408190:	89 d1                	mov    %edx,%ecx
408192:	c1 ca 0e             	ror    $0xe,%edx
408195:	8b 74 24 04          	mov    0x4(%esp),%esi
408199:	31 ca                	xor    %ecx,%edx
40819b:	8b 7c 24 08          	mov    0x8(%esp),%edi
40819f:	31 fe                	xor    %edi,%esi
4081a1:	c1 ca 05             	ror    $0x5,%edx
4081a4:	21 ce                	and    %ecx,%esi
4081a6:	89 0c 24             	mov    %ecx,(%esp)
4081a9:	31 ca                	xor    %ecx,%edx
4081ab:	31 f7                	xor    %esi,%edi
4081ad:	c1 ca 06             	ror    $0x6,%edx
4081b0:	89 c1                	mov    %eax,%ecx
4081b2:	01 fa                	add    %edi,%edx
4081b4:	8b 7c 24 14          	mov    0x14(%esp),%edi
4081b8:	89 c6                	mov    %eax,%esi
4081ba:	c1 c9 09             	ror    $0x9,%ecx
4081bd:	89 44 24 10          	mov    %eax,0x10(%esp)
4081c1:	31 c1                	xor    %eax,%ecx
4081c3:	31 f8                	xor    %edi,%eax
4081c5:	03 54 24 0c          	add    0xc(%esp),%edx
4081c9:	c1 c9 0b             	ror    $0xb,%ecx
4081cc:	21 c3                	and    %eax,%ebx
4081ce:	31 f1                	xor    %esi,%ecx
4081d0:	03 54 24 50          	add    0x50(%esp),%edx
4081d4:	31 fb                	xor    %edi,%ebx
4081d6:	c1 c9 02             	ror    $0x2,%ecx
4081d9:	01 d3                	add    %edx,%ebx