56fe6d:	52                   	push   %edx
56fe6e:	8b 4c 24 34          	mov    0x34(%esp),%ecx
56fe72:	51                   	push   %ecx
56fe73:	8b 44 24 3c          	mov    0x3c(%esp),%eax
56fe77:	50                   	push   %eax
56fe78:	8b 4c 24 28          	mov    0x28(%esp),%ecx
56fe7c:	8b d7                	mov    %edi,%edx
56fe7e:	8b 44 24 24          	mov    0x24(%esp),%eax
56fe82:	e8 75 e8 ff ff       	call   0x56e6fc
56fe87:	8b 54 24 28          	mov    0x28(%esp),%edx
56fe8b:	c1 e2 02             	shl    $0x2,%edx
56fe8e:	01 54 24 08          	add    %edx,0x8(%esp)
56fe92:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
56fe96:	83 44 24 2c ff       	addl   $0xffffffff,0x2c(%esp)
56fe9b:	85 c9                	test   %ecx,%ecx
56fe9d:	0f 8f 27 fc ff ff    	jg     0x56faca
56fea3:	eb 05                	jmp    0x56feaa
56fea5:	e8 9e ac fe ff       	call   0x55ab48
56feaa:	83 c4 50             	add    $0x50,%esp
56fead:	5d                   	pop    %ebp
56feae:	5f                   	pop    %edi
56feaf:	5e                   	pop    %esi
56feb0:	5b                   	pop    %ebx
56feb1:	c3                   	ret
56feb2:	90                   	nop
56feb3:	90                   	nop
56feb4:	53                   	push   %ebx
56feb5:	56                   	push   %esi
56feb6:	8b f0                	mov    %eax,%esi
56feb8:	e8 37 00 00 00       	call   0x56fef4
56febd:	8b d8                	mov    %eax,%ebx
56febf:	85 c0                	test   %eax,%eax
56fec1:	75 05                	jne    0x56fec8
56fec3:	33 c0                	xor    %eax,%eax
56fec5:	5e                   	pop    %esi
56fec6:	5b                   	pop    %ebx
56fec7:	c3                   	ret
56fec8:	4e                   	dec    %esi
56fec9:	74 05                	je     0x56fed0
56fecb:	4e                   	dec    %esi
56fecc:	74 0a                	je     0x56fed8
56fece:	eb 10                	jmp    0x56fee0
56fed0:	c7 03 44 0c 6a 00    	movl   $0x6a0c44,(%ebx)
56fed6:	eb 14                	jmp    0x56feec
56fed8:	c7 03 58 0c 6a 00    	movl   $0x6a0c58,(%ebx)
56fede:	eb 0c                	jmp    0x56feec
56fee0:	8b c3                	mov    %ebx,%eax
56fee2:	e8 4d 00 00 00       	call   0x56ff34
56fee7:	33 c0                	xor    %eax,%eax
56fee9:	5e                   	pop    %esi
56feea:	5b                   	pop    %ebx
56feeb:	c3                   	ret
56feec:	8b c3                	mov    %ebx,%eax
56feee:	5e                   	pop    %esi
56feef:	5b                   	pop    %ebx
56fef0:	c3                   	ret
56fef1:	90                   	nop
56fef2:	90                   	nop
56fef3:	90                   	nop
56fef4:	53                   	push   %ebx
56fef5:	b8 04 00 00 00       	mov    $0x4,%eax
56fefa:	e8 7d 84 00 00       	call   0x57837c
56feff:	8b d8                	mov    %eax,%ebx
56ff01:	85 c0                	test   %eax,%eax
56ff03:	75 04                	jne    0x56ff09
56ff05:	33 c0                	xor    %eax,%eax
56ff07:	5b                   	pop    %ebx
56ff08:	c3                   	ret
56ff09:	33 d2                	xor    %edx,%edx
56ff0b:	8b c3                	mov    %ebx,%eax
56ff0d:	89 13                	mov    %edx,(%ebx)
56ff0f:	5b                   	pop    %ebx
56ff10:	c3                   	ret
56ff11:	90                   	nop
56ff12:	90                   	nop
56ff13:	90                   	nop
56ff14:	53                   	push   %ebx
56ff15:	56                   	push   %esi
56ff16:	8b f0                	mov    %eax,%esi
56ff18:	e8 d7 ff ff ff       	call   0x56fef4
56ff1d:	8b d8                	mov    %eax,%ebx
56ff1f:	85 c0                	test   %eax,%eax
56ff21:	75 05                	jne    0x56ff28
56ff23:	33 c0                	xor    %eax,%eax
56ff25:	5e                   	pop    %esi
56ff26:	5b                   	pop    %ebx
56ff27:	c3                   	ret
56ff28:	8b 16                	mov    (%esi),%edx
56ff2a:	8b c3                	mov    %ebx,%eax
56ff2c:	89 13                	mov    %edx,(%ebx)
56ff2e:	5e                   	pop    %esi
56ff2f:	5b                   	pop    %ebx
56ff30:	c3                   	ret
56ff31:	90                   	nop
56ff32:	90                   	nop
56ff33:	90                   	nop
56ff34:	e8 4b 84 00 00       	call   0x578384
56ff39:	c3                   	ret
56ff3a:	90                   	nop
56ff3b:	90                   	nop
56ff3c:	55                   	push   %ebp
56ff3d:	8b ec                	mov    %esp,%ebp
56ff3f:	53                   	push   %ebx
56ff40:	56                   	push   %esi
56ff41:	57                   	push   %edi
56ff42:	f7 c2 00 00 01 00    	test   $0x10000,%edx
56ff48:	8b 75 08             	mov    0x8(%ebp),%esi
56ff4b:	74 08                	je     0x56ff55
56ff4d:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
56ff50:	8b 7d 14             	mov    0x14(%ebp),%edi
56ff53:	eb 05                	jmp    0x56ff5a
56ff55:	8b d9                	mov    %ecx,%ebx
56ff57:	8b 7d 18             	mov    0x18(%ebp),%edi
56ff5a:	e8 0d 01 00 00       	call   0x57006c
56ff5f:	83 f8 02             	cmp    $0x2,%eax
56ff62:	74 17                	je     0x56ff7b
56ff64:	68 46 04 00 00       	push   $0x446
56ff69:	68 e0 0d 6a 00       	push   $0x6a0de0
56ff6e:	68 be 0d 6a 00       	push   $0x6a0dbe
56ff73:	e8 c8 ab fe ff       	call   0x55ab40
56ff78:	83 c4 0c             	add    $0xc,%esp
56ff7b:	3b fb                	cmp    %ebx,%edi
56ff7d:	7d 17                	jge    0x56ff96
56ff7f:	68 47 04 00 00       	push   $0x447
56ff84:	68 f8 0d 6a 00       	push   $0x6a0df8
56ff89:	68 eb 0d 6a 00       	push   $0x6a0deb
56ff8e:	e8 ad ab fe ff       	call   0x55ab40
56ff93:	83 c4 0c             	add    $0xc,%esp
56ff96:	85 db                	test   %ebx,%ebx
56ff98:	7d 17                	jge    0x56ffb1
56ff9a:	68 48 04 00 00       	push   $0x448
56ff9f:	68 18 0e 6a 00       	push   $0x6a0e18
56ffa4:	68 03 0e 6a 00       	push   $0x6a0e03
56ffa9:	e8 92 ab fe ff       	call   0x55ab40
56ffae:	83 c4 0c             	add    $0xc,%esp
56ffb1:	8d 43 01             	lea    0x1(%ebx),%eax
56ffb4:	d1 f8                	sar    $1,%eax
56ffb6:	85 ff                	test   %edi,%edi
56ffb8:	89 06                	mov    %eax,(%esi)
56ffba:	7d 17                	jge    0x56ffd3
56ffbc:	68 49 04 00 00       	push   $0x449
56ffc1:	68 36 0e 6a 00       	push   $0x6a0e36
56ffc6:	68 23 0e 6a 00       	push   $0x6a0e23
56ffcb:	e8 70 ab fe ff       	call   0x55ab40
56ffd0:	83 c4 0c             	add    $0xc,%esp
56ffd3:	8d 57 01             	lea    0x1(%edi),%edx
56ffd6:	d1 fa                	sar    $1,%edx
56ffd8:	89 56 04             	mov    %edx,0x4(%esi)
56ffdb:	89 5e 08             	mov    %ebx,0x8(%esi)
56ffde:	8b 4e 04             	mov    0x4(%esi),%ecx
56ffe1:	8b 06                	mov    (%esi),%eax
56ffe3:	03 cb                	add    %ebx,%ecx
56ffe5:	2b c8                	sub    %eax,%ecx
56ffe7:	85 db                	test   %ebx,%ebx
56ffe9:	89 4e 0c             	mov    %ecx,0xc(%esi)
56ffec:	7d 17                	jge    0x570005
56ffee:	68 4c 04 00 00       	push   $0x44c
56fff3:	68 55 0e 6a 00       	push   $0x6a0e55
56fff8:	68 41 0e 6a 00       	push   $0x6a0e41
56fffd:	e8 3e ab fe ff       	call   0x55ab40
570002:	83 c4 0c             	add    $0xc,%esp
570005:	d1 fb                	sar    $1,%ebx
570007:	85 ff                	test   %edi,%edi
570009:	89 5e 10             	mov    %ebx,0x10(%esi)
57000c:	7d 17                	jge    0x570025
57000e:	68 4d 04 00 00       	push   $0x44d
570013:	68 72 0e 6a 00       	push   $0x6a0e72
570018:	68 60 0e 6a 00       	push   $0x6a0e60
57001d:	e8 1e ab fe ff       	call   0x55ab40
570022:	83 c4 0c             	add    $0xc,%esp
570025:	8b d7                	mov    %edi,%edx
570027:	d1 fa                	sar    $1,%edx
570029:	89 56 14             	mov    %edx,0x14(%esi)
57002c:	8b 46 0c             	mov    0xc(%esi),%eax
57002f:	89 46 18             	mov    %eax,0x18(%esi)
570032:	8b d0                	mov    %eax,%edx
570034:	8b 4e 14             	mov    0x14(%esi),%ecx
570037:	03 d1                	add    %ecx,%edx
570039:	8b 46 10             	mov    0x10(%esi),%eax
57003c:	2b d0                	sub    %eax,%edx
57003e:	89 56 1c             	mov    %edx,0x1c(%esi)
570041:	3b fa                	cmp    %edx,%edi
570043:	74 17                	je     0x57005c
570045:	68 50 04 00 00       	push   $0x450
57004a:	68 94 0e 6a 00       	push   $0x6a0e94
57004f:	68 7d 0e 6a 00       	push   $0x6a0e7d
570054:	e8 e7 aa fe ff       	call   0x55ab40
570059:	83 c4 0c             	add    $0xc,%esp
57005c:	8b 55 0c             	mov    0xc(%ebp),%edx
57005f:	c7 02 02 00 00 00    	movl   $0x2,(%edx)
570065:	5f                   	pop    %edi
570066:	5e                   	pop    %esi
570067:	5b                   	pop    %ebx
570068:	5d                   	pop    %ebp
570069:	c2 18 00             	ret    $0x18
57006c:	8b 10                	mov    (%eax),%edx
57006e:	ff 12                	call   *(%edx)
570070:	c3                   	ret
570071:	90                   	nop
570072:	90                   	nop
570073:	90                   	nop
570074:	53                   	push   %ebx
570075:	8b 18                	mov    (%eax),%ebx
570077:	ff 53 04             	call   *0x4(%ebx)
57007a:	5b                   	pop    %ebx
57007b:	c3                   	ret
57007c:	53                   	push   %ebx
57007d:	8b 18                	mov    (%eax),%ebx
57007f:	ff 53 08             	call   *0x8(%ebx)
570082:	5b                   	pop    %ebx
570083:	c3                   	ret
570084:	53                   	push   %ebx
570085:	8b 18                	mov    (%eax),%ebx
570087:	ff 53 0c             	call   *0xc(%ebx)
57008a:	5b                   	pop    %ebx
57008b:	c3                   	ret
57008c:	53                   	push   %ebx
57008d:	8b 18                	mov    (%eax),%ebx
57008f:	ff 53 10             	call   *0x10(%ebx)
570092:	5b                   	pop    %ebx
570093:	c3                   	ret
570094:	53                   	push   %ebx
570095:	56                   	push   %esi
570096:	57                   	push   %edi
570097:	55                   	push   %ebp
570098:	83 c4 dc             	add    $0xffffffdc,%esp
57009b:	89 4c 24 08          	mov    %ecx,0x8(%esp)
57009f:	89 54 24 04          	mov    %edx,0x4(%esp)
5700a3:	89 04 24             	mov    %eax,(%esp)
5700a6:	8b 04 24             	mov    (%esp),%eax
5700a9:	8b 50 14             	mov    0x14(%eax),%edx
5700ac:	89 54 24 0c          	mov    %edx,0xc(%esp)
5700b0:	8b 0c 24             	mov    (%esp),%ecx
5700b3:	8b 41 18             	mov    0x18(%ecx),%eax
5700b6:	89 44 24 10          	mov    %eax,0x10(%esp)
5700ba:	8b 54 24 04          	mov    0x4(%esp),%edx
5700be:	8b 4a 14             	mov    0x14(%edx),%ecx
5700c1:	8b 44 24 0c          	mov    0xc(%esp),%eax
5700c5:	3b c8                	cmp    %eax,%ecx
5700c7:	75 2d                	jne    0x5700f6
5700c9:	8b 54 24 04          	mov    0x4(%esp),%edx
5700cd:	8b 4a 18             	mov    0x18(%edx),%ecx
5700d0:	8b 44 24 10          	mov    0x10(%esp),%eax
5700d4:	3b c8                	cmp    %eax,%ecx
5700d6:	75 1e                	jne    0x5700f6
5700d8:	8b 54 24 08          	mov    0x8(%esp),%edx
5700dc:	8b 4a 14             	mov    0x14(%edx),%ecx
5700df:	8b 44 24 0c          	mov    0xc(%esp),%eax
5700e3:	3b c8                	cmp    %eax,%ecx
5700e5:	75 0f                	jne    0x5700f6
5700e7:	8b 54 24 08          	mov    0x8(%esp),%edx
5700eb:	8b 4a 18             	mov    0x18(%edx),%ecx
5700ee:	8b 44 24 10          	mov    0x10(%esp),%eax
5700f2:	3b c8                	cmp    %eax,%ecx
5700f4:	74 17                	je     0x57010d
5700f6:	68 97 00 00 00       	push   $0x97
5700fb:	68 31 0f 6a 00       	push   $0x6a0f31
570100:	68 a0 0e 6a 00       	push   $0x6a0ea0
570105:	e8 36 aa fe ff       	call   0x55ab40
57010a:	83 c4 0c             	add    $0xc,%esp
57010d:	33 d2                	xor    %edx,%edx
57010f:	89 54 24 14          	mov    %edx,0x14(%esp)
570113:	8b 4c 24 14          	mov    0x14(%esp),%ecx
570117:	8b 44 24 0c          	mov    0xc(%esp),%eax
57011b:	3b c8                	cmp    %eax,%ecx
57011d:	0f 8d 8c 00 00 00    	jge    0x5701af
570123:	8b 14 24             	mov    (%esp),%edx
570126:	8b 4a 1c             	mov    0x1c(%edx),%ecx
570129:	8b 44 24 14          	mov    0x14(%esp),%eax
57012d:	8b 14 81             	mov    (%ecx,%eax,4),%edx
570130:	8b 4c 24 04          	mov    0x4(%esp),%ecx
570134:	8b 41 1c             	mov    0x1c(%ecx),%eax
570137:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57013b:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
57013e:	8b 44 24 08          	mov    0x8(%esp),%eax
570142:	8b 40 1c             	mov    0x1c(%eax),%eax
570145:	8b 5c 24 14          	mov    0x14(%esp),%ebx
570149:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
57014c:	8b 44 24 10          	mov    0x10(%esp),%eax
570150:	89 44 24 18          	mov    %eax,0x18(%esp)
570154:	8b 44 24 18          	mov    0x18(%esp),%eax
570158:	85 c0                	test   %eax,%eax
57015a:	7e 3f                	jle    0x57019b
57015c:	8b 01                	mov    (%ecx),%eax
57015e:	8b 3a                	mov    (%edx),%edi
570160:	8b 33                	mov    (%ebx),%esi
570162:	8d 2c 47             	lea    (%edi,%eax,2),%ebp
570165:	03 ee                	add    %esi,%ebp
570167:	2b f0                	sub    %eax,%esi
570169:	c1 fd 02             	sar    $0x2,%ebp
57016c:	2b f8                	sub    %eax,%edi
57016e:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
570172:	89 74 24 20          	mov    %esi,0x20(%esp)
570176:	8b 74 24 1c          	mov    0x1c(%esp),%esi
57017a:	8b c7                	mov    %edi,%eax
57017c:	89 32                	mov    %esi,(%edx)
57017e:	83 c2 04             	add    $0x4,%edx
570181:	8b 74 24 20          	mov    0x20(%esp),%esi
570185:	89 31                	mov    %esi,(%ecx)
570187:	83 c1 04             	add    $0x4,%ecx
57018a:	89 03                	mov    %eax,(%ebx)
57018c:	83 c3 04             	add    $0x4,%ebx
57018f:	ff 4c 24 18          	decl   0x18(%esp)
570193:	8b 44 24 18          	mov    0x18(%esp),%eax
570197:	85 c0                	test   %eax,%eax
570199:	7f c1                	jg     0x57015c
57019b:	ff 44 24 14          	incl   0x14(%esp)
57019f:	8b 54 24 14          	mov    0x14(%esp),%edx
5701a3:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5701a7:	3b d1                	cmp    %ecx,%edx
5701a9:	0f 8c 74 ff ff ff    	jl     0x570123
5701af:	83 c4 24             	add    $0x24,%esp
5701b2:	5d                   	pop    %ebp
5701b3:	5f                   	pop    %edi
5701b4:	5e                   	pop    %esi
5701b5:	5b                   	pop    %ebx
5701b6:	c3                   	ret
5701b7:	90                   	nop
5701b8:	53                   	push   %ebx
5701b9:	56                   	push   %esi
5701ba:	57                   	push   %edi
5701bb:	83 c4 e0             	add    $0xffffffe0,%esp
5701be:	89 4c 24 08          	mov    %ecx,0x8(%esp)
5701c2:	89 54 24 04          	mov    %edx,0x4(%esp)
5701c6:	89 04 24             	mov    %eax,(%esp)
5701c9:	8b 04 24             	mov    (%esp),%eax
5701cc:	8b 50 14             	mov    0x14(%eax),%edx
5701cf:	89 54 24 0c          	mov    %edx,0xc(%esp)
5701d3:	8b 0c 24             	mov    (%esp),%ecx
5701d6:	8b 41 18             	mov    0x18(%ecx),%eax
5701d9:	89 44 24 10          	mov    %eax,0x10(%esp)
5701dd:	8b 54 24 04          	mov    0x4(%esp),%edx
5701e1:	8b 4a 14             	mov    0x14(%edx),%ecx
5701e4:	8b 44 24 0c          	mov    0xc(%esp),%eax
5701e8:	3b c8                	cmp    %eax,%ecx
5701ea:	75 2d                	jne    0x570219
5701ec:	8b 54 24 04          	mov    0x4(%esp),%edx
5701f0:	8b 4a 18             	mov    0x18(%edx),%ecx
5701f3:	8b 44 24 10          	mov    0x10(%esp),%eax
5701f7:	3b c8                	cmp    %eax,%ecx
5701f9:	75 1e                	jne    0x570219
5701fb:	8b 54 24 08          	mov    0x8(%esp),%edx
5701ff:	8b 4a 14             	mov    0x14(%edx),%ecx
570202:	8b 44 24 0c          	mov    0xc(%esp),%eax
570206:	3b c8                	cmp    %eax,%ecx
570208:	75 0f                	jne    0x570219
57020a:	8b 54 24 08          	mov    0x8(%esp),%edx
57020e:	8b 4a 18             	mov    0x18(%edx),%ecx
570211:	8b 44 24 10          	mov    0x10(%esp),%eax
570215:	3b c8                	cmp    %eax,%ecx