56dddd:	68 75 01 00 00       	push   $0x175
56dde2:	68 b8 0b 6a 00       	push   $0x6a0bb8
56dde7:	68 91 0b 6a 00       	push   $0x6a0b91
56ddec:	e8 4f cd fe ff       	call   0x55ab40
56ddf1:	83 c4 0c             	add    $0xc,%esp
56ddf4:	8b 45 fc             	mov    -0x4(%ebp),%eax
56ddf7:	33 ff                	xor    %edi,%edi
56ddf9:	8d b5 64 ff ff ff    	lea    -0x9c(%ebp),%esi
56ddff:	8d 50 18             	lea    0x18(%eax),%edx
56de02:	89 55 e4             	mov    %edx,-0x1c(%ebp)
56de05:	8b 4d f0             	mov    -0x10(%ebp),%ecx
56de08:	3b f9                	cmp    %ecx,%edi
56de0a:	0f 8d 45 01 00 00    	jge    0x56df55
56de10:	8b 45 e4             	mov    -0x1c(%ebp),%eax
56de13:	8b 10                	mov    (%eax),%edx
56de15:	85 d2                	test   %edx,%edx
56de17:	0f 85 25 01 00 00    	jne    0x56df42
56de1d:	8b 4d 08             	mov    0x8(%ebp),%ecx
56de20:	8b 19                	mov    (%ecx),%ebx
56de22:	8b 06                	mov    (%esi),%eax
56de24:	89 03                	mov    %eax,(%ebx)
56de26:	8b 56 04             	mov    0x4(%esi),%edx
56de29:	89 53 04             	mov    %edx,0x4(%ebx)
56de2c:	8b 4e 08             	mov    0x8(%esi),%ecx
56de2f:	89 4b 08             	mov    %ecx,0x8(%ebx)
56de32:	8b 46 0c             	mov    0xc(%esi),%eax
56de35:	89 43 0c             	mov    %eax,0xc(%ebx)
56de38:	8b 55 f8             	mov    -0x8(%ebp),%edx
56de3b:	8b 4e 10             	mov    0x10(%esi),%ecx
56de3e:	03 d1                	add    %ecx,%edx
56de40:	8b 45 18             	mov    0x18(%ebp),%eax
56de43:	2b d0                	sub    %eax,%edx
56de45:	89 53 14             	mov    %edx,0x14(%ebx)
56de48:	8b 55 f4             	mov    -0xc(%ebp),%edx
56de4b:	8b 4e 14             	mov    0x14(%esi),%ecx
56de4e:	03 d1                	add    %ecx,%edx
56de50:	8b 45 14             	mov    0x14(%ebp),%eax
56de53:	2b d0                	sub    %eax,%edx
56de55:	89 53 18             	mov    %edx,0x18(%ebx)
56de58:	8b 53 14             	mov    0x14(%ebx),%edx
56de5b:	8b 4b 08             	mov    0x8(%ebx),%ecx
56de5e:	03 d1                	add    %ecx,%edx
56de60:	8b 03                	mov    (%ebx),%eax
56de62:	2b d0                	sub    %eax,%edx
56de64:	89 53 1c             	mov    %edx,0x1c(%ebx)
56de67:	8b 53 18             	mov    0x18(%ebx),%edx
56de6a:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56de6d:	03 d1                	add    %ecx,%edx
56de6f:	8b 43 04             	mov    0x4(%ebx),%eax
56de72:	2b d0                	sub    %eax,%edx
56de74:	89 53 20             	mov    %edx,0x20(%ebx)
56de77:	8b 55 f0             	mov    -0x10(%ebp),%edx
56de7a:	83 fa 04             	cmp    $0x4,%edx
56de7d:	75 3a                	jne    0x56deb9
56de7f:	8b cf                	mov    %edi,%ecx
56de81:	83 e9 01             	sub    $0x1,%ecx
56de84:	72 0a                	jb     0x56de90
56de86:	74 0f                	je     0x56de97
56de88:	49                   	dec    %ecx
56de89:	74 15                	je     0x56dea0
56de8b:	49                   	dec    %ecx
56de8c:	74 1b                	je     0x56dea9
56de8e:	eb 22                	jmp    0x56deb2
56de90:	33 c0                	xor    %eax,%eax
56de92:	89 43 10             	mov    %eax,0x10(%ebx)
56de95:	eb 50                	jmp    0x56dee7
56de97:	c7 43 10 02 00 00 00 	movl   $0x2,0x10(%ebx)
56de9e:	eb 47                	jmp    0x56dee7
56dea0:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%ebx)
56dea7:	eb 3e                	jmp    0x56dee7
56dea9:	c7 43 10 03 00 00 00 	movl   $0x3,0x10(%ebx)
56deb0:	eb 35                	jmp    0x56dee7
56deb2:	e8 91 cc fe ff       	call   0x55ab48
56deb7:	eb 2e                	jmp    0x56dee7
56deb9:	8b d7                	mov    %edi,%edx
56debb:	83 ea 01             	sub    $0x1,%edx
56debe:	72 07                	jb     0x56dec7
56dec0:	74 0e                	je     0x56ded0
56dec2:	4a                   	dec    %edx
56dec3:	74 14                	je     0x56ded9
56dec5:	eb 1b                	jmp    0x56dee2
56dec7:	c7 43 10 02 00 00 00 	movl   $0x2,0x10(%ebx)
56dece:	eb 17                	jmp    0x56dee7
56ded0:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%ebx)
56ded7:	eb 0e                	jmp    0x56dee7
56ded9:	c7 43 10 03 00 00 00 	movl   $0x3,0x10(%ebx)
56dee0:	eb 05                	jmp    0x56dee7
56dee2:	e8 61 cc fe ff       	call   0x55ab48
56dee7:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56deea:	8b 43 04             	mov    0x4(%ebx),%eax
56deed:	2b c8                	sub    %eax,%ecx
56deef:	8d 55 ec             	lea    -0x14(%ebp),%edx
56def2:	51                   	push   %ecx
56def3:	8d 4d e8             	lea    -0x18(%ebp),%ecx
56def6:	52                   	push   %edx
56def7:	51                   	push   %ecx
56def8:	8b 4b 08             	mov    0x8(%ebx),%ecx
56defb:	8b 03                	mov    (%ebx),%eax
56defd:	2b c8                	sub    %eax,%ecx
56deff:	8b 45 fc             	mov    -0x4(%ebp),%eax
56df02:	8b d7                	mov    %edi,%edx
56df04:	e8 5f 02 00 00       	call   0x56e168
56df09:	8b 45 e8             	mov    -0x18(%ebp),%eax
56df0c:	e8 1f b8 00 00       	call   0x579730
56df11:	99                   	cltd
56df12:	52                   	push   %edx
56df13:	50                   	push   %eax
56df14:	8b 45 ec             	mov    -0x14(%ebp),%eax
56df17:	e8 14 b8 00 00       	call   0x579730
56df1c:	99                   	cltd
56df1d:	e8 62 d1 fe ff       	call   0x55b084
56df22:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
56df26:	c1 fa 0d             	sar    $0xd,%edx
56df29:	89 43 24             	mov    %eax,0x24(%ebx)
56df2c:	8b 45 ec             	mov    -0x14(%ebp),%eax
56df2f:	e8 60 9e 00 00       	call   0x577d94
56df34:	8b 45 e8             	mov    -0x18(%ebp),%eax
56df37:	e8 58 9e 00 00       	call   0x577d94
56df3c:	8b 55 08             	mov    0x8(%ebp),%edx
56df3f:	83 02 28             	addl   $0x28,(%edx)
56df42:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
56df46:	47                   	inc    %edi
56df47:	83 c6 20             	add    $0x20,%esi
56df4a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
56df4d:	3b f9                	cmp    %ecx,%edi
56df4f:	0f 8c bb fe ff ff    	jl     0x56de10
56df55:	5f                   	pop    %edi
56df56:	5e                   	pop    %esi
56df57:	5b                   	pop    %ebx
56df58:	8b e5                	mov    %ebp,%esp
56df5a:	5d                   	pop    %ebp
56df5b:	c2 14 00             	ret    $0x14
56df5e:	90                   	nop
56df5f:	90                   	nop
56df60:	53                   	push   %ebx
56df61:	b8 2c 00 00 00       	mov    $0x2c,%eax
56df66:	e8 11 a4 00 00       	call   0x57837c
56df6b:	8b d8                	mov    %eax,%ebx
56df6d:	85 c0                	test   %eax,%eax
56df6f:	75 04                	jne    0x56df75
56df71:	33 c0                	xor    %eax,%eax
56df73:	5b                   	pop    %ebx
56df74:	c3                   	ret
56df75:	33 d2                	xor    %edx,%edx
56df77:	33 c9                	xor    %ecx,%ecx
56df79:	89 13                	mov    %edx,(%ebx)
56df7b:	89 4b 04             	mov    %ecx,0x4(%ebx)
56df7e:	33 c0                	xor    %eax,%eax
56df80:	33 d2                	xor    %edx,%edx
56df82:	89 43 14             	mov    %eax,0x14(%ebx)
56df85:	89 53 10             	mov    %edx,0x10(%ebx)
56df88:	33 c9                	xor    %ecx,%ecx
56df8a:	33 c0                	xor    %eax,%eax
56df8c:	89 4b 08             	mov    %ecx,0x8(%ebx)
56df8f:	89 43 0c             	mov    %eax,0xc(%ebx)
56df92:	33 d2                	xor    %edx,%edx
56df94:	8b c3                	mov    %ebx,%eax
56df96:	89 53 28             	mov    %edx,0x28(%ebx)
56df99:	5b                   	pop    %ebx
56df9a:	c3                   	ret
56df9b:	90                   	nop
56df9c:	53                   	push   %ebx
56df9d:	56                   	push   %esi
56df9e:	57                   	push   %edi
56df9f:	8b f0                	mov    %eax,%esi
56dfa1:	33 ff                	xor    %edi,%edi
56dfa3:	8d 5e 18             	lea    0x18(%esi),%ebx
56dfa6:	eb 0f                	jmp    0x56dfb7
56dfa8:	8b 03                	mov    (%ebx),%eax
56dfaa:	85 c0                	test   %eax,%eax
56dfac:	74 05                	je     0x56dfb3
56dfae:	e8 e9 ff ff ff       	call   0x56df9c
56dfb3:	47                   	inc    %edi
56dfb4:	83 c3 04             	add    $0x4,%ebx
56dfb7:	8b 56 10             	mov    0x10(%esi),%edx
56dfba:	3b fa                	cmp    %edx,%edi
56dfbc:	7c ea                	jl     0x56dfa8
56dfbe:	8b 46 08             	mov    0x8(%esi),%eax
56dfc1:	85 c0                	test   %eax,%eax
56dfc3:	74 05                	je     0x56dfca
56dfc5:	e8 6a 1f 00 00       	call   0x56ff34
56dfca:	8b 46 0c             	mov    0xc(%esi),%eax
56dfcd:	85 c0                	test   %eax,%eax
56dfcf:	74 05                	je     0x56dfd6
56dfd1:	e8 5e 1f 00 00       	call   0x56ff34
56dfd6:	8b c6                	mov    %esi,%eax
56dfd8:	e8 a7 a3 00 00       	call   0x578384
56dfdd:	5f                   	pop    %edi
56dfde:	5e                   	pop    %esi
56dfdf:	5b                   	pop    %ebx
56dfe0:	c3                   	ret
56dfe1:	90                   	nop
56dfe2:	90                   	nop
56dfe3:	90                   	nop
56dfe4:	55                   	push   %ebp
56dfe5:	8b ec                	mov    %esp,%ebp
56dfe7:	83 c4 ac             	add    $0xffffffac,%esp
56dfea:	53                   	push   %ebx
56dfeb:	56                   	push   %esi
56dfec:	57                   	push   %edi
56dfed:	8b d9                	mov    %ecx,%ebx
56dfef:	89 55 f8             	mov    %edx,-0x8(%ebp)
56dff2:	89 45 fc             	mov    %eax,-0x4(%ebp)
56dff5:	8b 7d 18             	mov    0x18(%ebp),%edi
56dff8:	8b 75 1c             	mov    0x1c(%ebp),%esi
56dffb:	8b 45 fc             	mov    -0x4(%ebp),%eax
56dffe:	85 c0                	test   %eax,%eax
56e000:	74 1e                	je     0x56e020
56e002:	56                   	push   %esi
56e003:	57                   	push   %edi
56e004:	8b 55 14             	mov    0x14(%ebp),%edx
56e007:	8d 4d f4             	lea    -0xc(%ebp),%ecx
56e00a:	52                   	push   %edx
56e00b:	6a 02                	push   $0x2
56e00d:	51                   	push   %ecx
56e00e:	8d 45 cc             	lea    -0x34(%ebp),%eax
56e011:	50                   	push   %eax
56e012:	8b cb                	mov    %ebx,%ecx
56e014:	8b 45 fc             	mov    -0x4(%ebp),%eax
56e017:	33 d2                	xor    %edx,%edx
56e019:	e8 1e 1f 00 00       	call   0x56ff3c
56e01e:	eb 19                	jmp    0x56e039
56e020:	8d 55 cc             	lea    -0x34(%ebp),%edx
56e023:	8b c3                	mov    %ebx,%eax
56e025:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
56e02c:	89 02                	mov    %eax,(%edx)
56e02e:	8b d7                	mov    %edi,%edx
56e030:	89 55 d0             	mov    %edx,-0x30(%ebp)
56e033:	89 45 d4             	mov    %eax,-0x2c(%ebp)
56e036:	89 55 d8             	mov    %edx,-0x28(%ebp)
56e039:	8b 4d f8             	mov    -0x8(%ebp),%ecx
56e03c:	85 c9                	test   %ecx,%ecx
56e03e:	74 21                	je     0x56e061
56e040:	56                   	push   %esi
56e041:	57                   	push   %edi
56e042:	8b 45 14             	mov    0x14(%ebp),%eax
56e045:	8d 55 f0             	lea    -0x10(%ebp),%edx
56e048:	50                   	push   %eax
56e049:	6a 02                	push   $0x2
56e04b:	52                   	push   %edx
56e04c:	8d 4d ac             	lea    -0x54(%ebp),%ecx
56e04f:	51                   	push   %ecx
56e050:	8b cb                	mov    %ebx,%ecx
56e052:	8b 45 f8             	mov    -0x8(%ebp),%eax
56e055:	ba 00 00 01 00       	mov    $0x10000,%edx
56e05a:	e8 dd 1e 00 00       	call   0x56ff3c
56e05f:	eb 1a                	jmp    0x56e07b
56e061:	8d 55 ac             	lea    -0x54(%ebp),%edx
56e064:	8b c6                	mov    %esi,%eax
56e066:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
56e06d:	89 02                	mov    %eax,(%edx)
56e06f:	8b 55 14             	mov    0x14(%ebp),%edx
56e072:	89 55 b0             	mov    %edx,-0x50(%ebp)
56e075:	89 45 b4             	mov    %eax,-0x4c(%ebp)
56e078:	89 55 b8             	mov    %edx,-0x48(%ebp)
56e07b:	8b 45 f4             	mov    -0xc(%ebp),%eax
56e07e:	f7 6d f0             	imull  -0x10(%ebp)
56e081:	89 45 ec             	mov    %eax,-0x14(%ebp)
56e084:	8b 4d 0c             	mov    0xc(%ebp),%ecx
56e087:	8b 45 ec             	mov    -0x14(%ebp),%eax
56e08a:	89 01                	mov    %eax,(%ecx)
56e08c:	33 ff                	xor    %edi,%edi
56e08e:	8b 5d 08             	mov    0x8(%ebp),%ebx
56e091:	8b 45 ec             	mov    -0x14(%ebp),%eax
56e094:	3b f8                	cmp    %eax,%edi
56e096:	0f 8d c1 00 00 00    	jge    0x56e15d
56e09c:	8b c7                	mov    %edi,%eax
56e09e:	99                   	cltd
56e09f:	f7 7d f4             	idivl  -0xc(%ebp)
56e0a2:	8b c7                	mov    %edi,%eax
56e0a4:	8b ca                	mov    %edx,%ecx
56e0a6:	99                   	cltd
56e0a7:	f7 7d f4             	idivl  -0xc(%ebp)
56e0aa:	8b d1                	mov    %ecx,%edx
56e0ac:	c1 e2 04             	shl    $0x4,%edx
56e0af:	8b 74 15 cc          	mov    -0x34(%ebp,%edx,1),%esi
56e0b3:	89 33                	mov    %esi,(%ebx)
56e0b5:	8b f0                	mov    %eax,%esi
56e0b7:	c1 e6 04             	shl    $0x4,%esi
56e0ba:	8b 74 35 ac          	mov    -0x54(%ebp,%esi,1),%esi
56e0be:	89 73 04             	mov    %esi,0x4(%ebx)
56e0c1:	8b 74 15 d0          	mov    -0x30(%ebp,%edx,1),%esi
56e0c5:	89 73 08             	mov    %esi,0x8(%ebx)
56e0c8:	8b f0                	mov    %eax,%esi
56e0ca:	c1 e6 04             	shl    $0x4,%esi
56e0cd:	8b 74 35 b0          	mov    -0x50(%ebp,%esi,1),%esi
56e0d1:	89 73 0c             	mov    %esi,0xc(%ebx)
56e0d4:	8b 74 15 d4          	mov    -0x2c(%ebp,%edx,1),%esi
56e0d8:	89 73 10             	mov    %esi,0x10(%ebx)
56e0db:	8b f0                	mov    %eax,%esi
56e0dd:	c1 e6 04             	shl    $0x4,%esi
56e0e0:	c1 e0 04             	shl    $0x4,%eax
56e0e3:	8b 74 35 b4          	mov    -0x4c(%ebp,%esi,1),%esi
56e0e7:	89 73 14             	mov    %esi,0x14(%ebx)
56e0ea:	8b 54 15 d8          	mov    -0x28(%ebp,%edx,1),%edx
56e0ee:	89 53 18             	mov    %edx,0x18(%ebx)
56e0f1:	8b 44 05 b8          	mov    -0x48(%ebp,%eax,1),%eax
56e0f5:	89 43 1c             	mov    %eax,0x1c(%ebx)
56e0f8:	8b 43 08             	mov    0x8(%ebx),%eax
56e0fb:	8b 0b                	mov    (%ebx),%ecx
56e0fd:	3b c8                	cmp    %eax,%ecx
56e0ff:	7f 0a                	jg     0x56e10b
56e101:	8b 53 04             	mov    0x4(%ebx),%edx
56e104:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56e107:	3b d1                	cmp    %ecx,%edx
56e109:	7e 17                	jle    0x56e122
56e10b:	68 10 02 00 00       	push   $0x210
56e110:	68 fc 0b 6a 00       	push   $0x6a0bfc
56e115:	68 c3 0b 6a 00       	push   $0x6a0bc3
56e11a:	e8 21 ca fe ff       	call   0x55ab40
56e11f:	83 c4 0c             	add    $0xc,%esp
56e122:	8b 03                	mov    (%ebx),%eax
56e124:	8b 53 08             	mov    0x8(%ebx),%edx
56e127:	3b c2                	cmp    %edx,%eax
56e129:	75 0e                	jne    0x56e139
56e12b:	8b 4b 04             	mov    0x4(%ebx),%ecx
56e12e:	89 4b 0c             	mov    %ecx,0xc(%ebx)
56e131:	8b 43 14             	mov    0x14(%ebx),%eax
56e134:	89 43 1c             	mov    %eax,0x1c(%ebx)
56e137:	eb 15                	jmp    0x56e14e
56e139:	8b 53 04             	mov    0x4(%ebx),%edx
56e13c:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56e13f:	3b d1                	cmp    %ecx,%edx
56e141:	75 0b                	jne    0x56e14e
56e143:	8b 03                	mov    (%ebx),%eax
56e145:	89 43 08             	mov    %eax,0x8(%ebx)
56e148:	8b 53 10             	mov    0x10(%ebx),%edx
56e14b:	89 53 18             	mov    %edx,0x18(%ebx)
56e14e:	47                   	inc    %edi
56e14f:	83 c3 20             	add    $0x20,%ebx
56e152:	8b 4d ec             	mov    -0x14(%ebp),%ecx
56e155:	3b f9                	cmp    %ecx,%edi
56e157:	0f 8c 3f ff ff ff    	jl     0x56e09c
56e15d:	5f                   	pop    %edi
56e15e:	5e                   	pop    %esi
56e15f:	5b                   	pop    %ebx
56e160:	8b e5                	mov    %ebp,%esp
56e162:	5d                   	pop    %ebp
56e163:	c2 18 00             	ret    $0x18
56e166:	90                   	nop
56e167:	90                   	nop
56e168:	55                   	push   %ebp
56e169:	8b ec                	mov    %esp,%ebp
56e16b:	83 c4 dc             	add    $0xffffffdc,%esp
56e16e:	53                   	push   %ebx
56e16f:	56                   	push   %esi
56e170:	57                   	push   %edi
56e171:	89 4d f8             	mov    %ecx,-0x8(%ebp)
56e174:	89 55 fc             	mov    %edx,-0x4(%ebp)
56e177:	8b d8                	mov    %eax,%ebx