56cefd:	8b 6c 24 20          	mov    0x20(%esp),%ebp
56cf01:	03 f1                	add    %ecx,%esi
56cf03:	ff 75 04             	push   0x4(%ebp)
56cf06:	e8 b5 81 f7 ff       	call   0x4e50c0
56cf0b:	ff 75 00             	push   0x0(%ebp)
56cf0e:	89 44 24 24          	mov    %eax,0x24(%esp)
56cf12:	e8 a9 81 f7 ff       	call   0x4e50c0
56cf17:	33 c9                	xor    %ecx,%ecx
56cf19:	83 c4 08             	add    $0x8,%esp
56cf1c:	85 c0                	test   %eax,%eax
56cf1e:	0f 48 c1             	cmovs  %ecx,%eax
56cf21:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56cf25:	33 d2                	xor    %edx,%edx
56cf27:	85 c9                	test   %ecx,%ecx
56cf29:	0f 48 ca             	cmovs  %edx,%ecx
56cf2c:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
56cf31:	2b d1                	sub    %ecx,%edx
56cf33:	3b c2                	cmp    %edx,%eax
56cf35:	0f 8f fc 00 00 00    	jg     0x56d037
56cf3b:	03 c8                	add    %eax,%ecx
56cf3d:	85 f6                	test   %esi,%esi
56cf3f:	7e 10                	jle    0x56cf51
56cf41:	b8 00 00 10 00       	mov    $0x100000,%eax
56cf46:	99                   	cltd
56cf47:	f7 fe                	idiv   %esi
56cf49:	3b c8                	cmp    %eax,%ecx
56cf4b:	0f 8f e6 00 00 00    	jg     0x56d037
56cf51:	57                   	push   %edi
56cf52:	e8 b9 c5 00 00       	call   0x579510
56cf57:	83 c4 04             	add    $0x4,%esp
56cf5a:	85 c0                	test   %eax,%eax
56cf5c:	0f 8e 7d 00 00 00    	jle    0x56cfdf
56cf62:	8d 44 24 10          	lea    0x10(%esp),%eax
56cf66:	c7 44 24 10 04 00 00 	movl   $0x4,0x10(%esp)
56cf6d:	00
56cf6e:	55                   	push   %ebp
56cf6f:	50                   	push   %eax
56cf70:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
56cf74:	e8 97 04 00 00       	call   0x56d410
56cf79:	83 c4 08             	add    $0x8,%esp
56cf7c:	85 c0                	test   %eax,%eax
56cf7e:	0f 85 b8 00 00 00    	jne    0x56d03c
56cf84:	6a ff                	push   $0xffffffff
56cf86:	6a 30                	push   $0x30
56cf88:	57                   	push   %edi
56cf89:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
56cf90:	00
56cf91:	e8 ca c5 00 00       	call   0x579560
56cf96:	8b f0                	mov    %eax,%esi
56cf98:	83 c4 0c             	add    $0xc,%esp
56cf9b:	83 fe ff             	cmp    $0xffffffff,%esi
56cf9e:	74 3f                	je     0x56cfdf
56cfa0:	56                   	push   %esi
56cfa1:	57                   	push   %edi
56cfa2:	e8 89 c5 00 00       	call   0x579530
56cfa7:	50                   	push   %eax
56cfa8:	e8 43 c2 00 00       	call   0x5791f0
56cfad:	83 c4 0c             	add    $0xc,%esp
56cfb0:	89 44 24 14          	mov    %eax,0x14(%esp)
56cfb4:	83 78 04 16          	cmpl   $0x16,0x4(%eax)
56cfb8:	75 70                	jne    0x56d02a
56cfba:	8d 44 24 10          	lea    0x10(%esp),%eax
56cfbe:	55                   	push   %ebp
56cfbf:	50                   	push   %eax
56cfc0:	e8 4b 04 00 00       	call   0x56d410
56cfc5:	83 c4 08             	add    $0x8,%esp
56cfc8:	85 c0                	test   %eax,%eax
56cfca:	75 70                	jne    0x56d03c
56cfcc:	56                   	push   %esi
56cfcd:	6a 30                	push   $0x30
56cfcf:	57                   	push   %edi
56cfd0:	e8 8b c5 00 00       	call   0x579560
56cfd5:	8b f0                	mov    %eax,%esi
56cfd7:	83 c4 0c             	add    $0xc,%esp
56cfda:	83 fe ff             	cmp    $0xffffffff,%esi
56cfdd:	75 c1                	jne    0x56cfa0
56cfdf:	ff b3 a0 00 00 00    	push   0xa0(%ebx)
56cfe5:	33 f6                	xor    %esi,%esi
56cfe7:	e8 d4 80 f7 ff       	call   0x4e50c0
56cfec:	83 c4 04             	add    $0x4,%esp
56cfef:	85 c0                	test   %eax,%eax
56cff1:	7e 2d                	jle    0x56d020
56cff3:	56                   	push   %esi
56cff4:	ff b3 a0 00 00 00    	push   0xa0(%ebx)
56cffa:	e8 81 82 f7 ff       	call   0x4e5280
56cfff:	55                   	push   %ebp
56d000:	50                   	push   %eax
56d001:	e8 0a 04 00 00       	call   0x56d410
56d006:	83 c4 10             	add    $0x10,%esp
56d009:	85 c0                	test   %eax,%eax
56d00b:	75 2f                	jne    0x56d03c
56d00d:	ff b3 a0 00 00 00    	push   0xa0(%ebx)
56d013:	46                   	inc    %esi
56d014:	e8 a7 80 f7 ff       	call   0x4e50c0
56d019:	83 c4 04             	add    $0x4,%esp
56d01c:	3b f0                	cmp    %eax,%esi
56d01e:	7c d3                	jl     0x56cff3
56d020:	5f                   	pop    %edi
56d021:	5e                   	pop    %esi
56d022:	5d                   	pop    %ebp
56d023:	33 c0                	xor    %eax,%eax
56d025:	5b                   	pop    %ebx
56d026:	83 c4 08             	add    $0x8,%esp
56d029:	c3                   	ret
56d02a:	5f                   	pop    %edi
56d02b:	5e                   	pop    %esi
56d02c:	5d                   	pop    %ebp
56d02d:	b8 35 00 00 00       	mov    $0x35,%eax
56d032:	5b                   	pop    %ebx
56d033:	83 c4 08             	add    $0x8,%esp
56d036:	c3                   	ret
56d037:	b8 01 00 00 00       	mov    $0x1,%eax
56d03c:	5f                   	pop    %edi
56d03d:	5e                   	pop    %esi
56d03e:	5d                   	pop    %ebp
56d03f:	5b                   	pop    %ebx
56d040:	83 c4 08             	add    $0x8,%esp
56d043:	c3                   	ret
56d044:	cc                   	int3
56d045:	cc                   	int3
56d046:	cc                   	int3
56d047:	cc                   	int3
56d048:	cc                   	int3
56d049:	cc                   	int3
56d04a:	cc                   	int3
56d04b:	cc                   	int3
56d04c:	cc                   	int3
56d04d:	cc                   	int3
56d04e:	cc                   	int3
56d04f:	cc                   	int3
56d050:	b8 28 00 00 00       	mov    $0x28,%eax
56d055:	e8 56 47 06 00       	call   0x5d17b0
56d05a:	53                   	push   %ebx
56d05b:	55                   	push   %ebp
56d05c:	56                   	push   %esi
56d05d:	57                   	push   %edi
56d05e:	ff 74 24 3c          	push   0x3c(%esp)
56d062:	e8 39 a5 fa ff       	call   0x5175a0
56d067:	8b d8                	mov    %eax,%ebx
56d069:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
56d070:	00
56d071:	6a ff                	push   $0xffffffff
56d073:	8d 44 24 30          	lea    0x30(%esp),%eax
56d077:	89 5c 24 18          	mov    %ebx,0x18(%esp)
56d07b:	6a 0d                	push   $0xd
56d07d:	53                   	push   %ebx
56d07e:	c7 44 24 3c 16 00 00 	movl   $0x16,0x3c(%esp)
56d085:	00
56d086:	c7 44 24 30 02 00 00 	movl   $0x2,0x30(%esp)
56d08d:	00
56d08e:	89 44 24 34          	mov    %eax,0x34(%esp)
56d092:	e8 c9 c4 00 00       	call   0x579560
56d097:	83 c4 10             	add    $0x10,%esp
56d09a:	89 44 24 18          	mov    %eax,0x18(%esp)
56d09e:	83 f8 ff             	cmp    $0xffffffff,%eax
56d0a1:	0f 84 32 01 00 00    	je     0x56d1d9
56d0a7:	50                   	push   %eax
56d0a8:	53                   	push   %ebx
56d0a9:	e8 82 c4 00 00       	call   0x579530
56d0ae:	50                   	push   %eax
56d0af:	e8 3c c1 00 00       	call   0x5791f0
56d0b4:	50                   	push   %eax
56d0b5:	8d 44 24 2c          	lea    0x2c(%esp),%eax
56d0b9:	33 ff                	xor    %edi,%edi
56d0bb:	50                   	push   %eax
56d0bc:	89 7c 24 28          	mov    %edi,0x28(%esp)
56d0c0:	e8 0b 51 00 00       	call   0x5721d0
56d0c5:	8b d0                	mov    %eax,%edx
56d0c7:	83 c4 14             	add    $0x14,%esp
56d0ca:	85 d2                	test   %edx,%edx
56d0cc:	0f 88 3b 01 00 00    	js     0x56d20d
56d0d2:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
56d0d6:	7e 0c                	jle    0x56d0e4
56d0d8:	80 7c 2a ff 00       	cmpb   $0x0,-0x1(%edx,%ebp,1)
56d0dd:	75 05                	jne    0x56d0e4
56d0df:	4a                   	dec    %edx
56d0e0:	85 d2                	test   %edx,%edx
56d0e2:	7f f4                	jg     0x56d0d8
56d0e4:	8b cd                	mov    %ebp,%ecx
56d0e6:	8d 71 01             	lea    0x1(%ecx),%esi
56d0e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
56d0f0:	8a 01                	mov    (%ecx),%al
56d0f2:	41                   	inc    %ecx
56d0f3:	84 c0                	test   %al,%al
56d0f5:	75 f9                	jne    0x56d0f0
56d0f7:	2b ce                	sub    %esi,%ecx
56d0f9:	3b d1                	cmp    %ecx,%edx
56d0fb:	0f 85 ec 00 00 00    	jne    0x56d1ed
56d101:	85 d2                	test   %edx,%edx
56d103:	0f 8e a1 00 00 00    	jle    0x56d1aa
56d109:	83 cb ff             	or     $0xffffffff,%ebx
56d10c:	8d 75 01             	lea    0x1(%ebp),%esi
56d10f:	2b dd                	sub    %ebp,%ebx
56d111:	8a 46 ff             	mov    -0x1(%esi),%al
56d114:	3c 61                	cmp    $0x61,%al
56d116:	72 04                	jb     0x56d11c
56d118:	3c 7a                	cmp    $0x7a,%al
56d11a:	76 49                	jbe    0x56d165
56d11c:	3c 41                	cmp    $0x41,%al
56d11e:	72 04                	jb     0x56d124
56d120:	3c 5a                	cmp    $0x5a,%al
56d122:	76 41                	jbe    0x56d165
56d124:	3c 30                	cmp    $0x30,%al
56d126:	72 04                	jb     0x56d12c
56d128:	3c 39                	cmp    $0x39,%al
56d12a:	76 39                	jbe    0x56d165
56d12c:	3c 5f                	cmp    $0x5f,%al
56d12e:	74 35                	je     0x56d165
56d130:	8d 3c 33             	lea    (%ebx,%esi,1),%edi
56d133:	85 ff                	test   %edi,%edi
56d135:	7e 6f                	jle    0x56d1a6
56d137:	8d 4a ff             	lea    -0x1(%edx),%ecx
56d13a:	3b f9                	cmp    %ecx,%edi
56d13c:	7d 68                	jge    0x56d1a6
56d13e:	3c 2d                	cmp    $0x2d,%al
56d140:	74 1f                	je     0x56d161
56d142:	3c 2e                	cmp    $0x2e,%al
56d144:	75 60                	jne    0x56d1a6
56d146:	8a 06                	mov    (%esi),%al
56d148:	3c 2e                	cmp    $0x2e,%al
56d14a:	74 5a                	je     0x56d1a6
56d14c:	80 7e fe 2d          	cmpb   $0x2d,-0x2(%esi)
56d150:	74 54                	je     0x56d1a6
56d152:	3c 2d                	cmp    $0x2d,%al
56d154:	74 50                	je     0x56d1a6
56d156:	bf 01 00 00 00       	mov    $0x1,%edi
56d15b:	89 7c 24 14          	mov    %edi,0x14(%esp)
56d15f:	eb 04                	jmp    0x56d165
56d161:	8b 7c 24 14          	mov    0x14(%esp),%edi
56d165:	46                   	inc    %esi
56d166:	8d 04 33             	lea    (%ebx,%esi,1),%eax
56d169:	3b c2                	cmp    %edx,%eax
56d16b:	7c a4                	jl     0x56d111
56d16d:	85 ff                	test   %edi,%edi
56d16f:	74 35                	je     0x56d1a6
56d171:	ff 74 24 40          	push   0x40(%esp)
56d175:	8d 44 24 24          	lea    0x24(%esp),%eax
56d179:	89 54 24 2c          	mov    %edx,0x2c(%esp)
56d17d:	50                   	push   %eax
56d17e:	89 6c 24 38          	mov    %ebp,0x38(%esp)
56d182:	e8 89 02 00 00       	call   0x56d410
56d187:	68 af 01 00 00       	push   $0x1af
56d18c:	68 c4 94 65 00       	push   $0x6594c4
56d191:	55                   	push   %ebp
56d192:	8b f0                	mov    %eax,%esi
56d194:	e8 e7 35 f7 ff       	call   0x4e0780
56d199:	83 c4 14             	add    $0x14,%esp
56d19c:	85 f6                	test   %esi,%esi
56d19e:	75 43                	jne    0x56d1e3
56d1a0:	8b 5c 24 10          	mov    0x10(%esp),%ebx
56d1a4:	eb 17                	jmp    0x56d1bd
56d1a6:	8b 5c 24 10          	mov    0x10(%esp),%ebx
56d1aa:	68 85 01 00 00       	push   $0x185
56d1af:	68 c4 94 65 00       	push   $0x6594c4
56d1b4:	55                   	push   %ebp
56d1b5:	e8 c6 35 f7 ff       	call   0x4e0780
56d1ba:	83 c4 0c             	add    $0xc,%esp
56d1bd:	ff 74 24 18          	push   0x18(%esp)
56d1c1:	6a 0d                	push   $0xd
56d1c3:	53                   	push   %ebx
56d1c4:	e8 97 c3 00 00       	call   0x579560
56d1c9:	83 c4 0c             	add    $0xc,%esp
56d1cc:	89 44 24 18          	mov    %eax,0x18(%esp)
56d1d0:	83 f8 ff             	cmp    $0xffffffff,%eax
56d1d3:	0f 85 ce fe ff ff    	jne    0x56d0a7
56d1d9:	5f                   	pop    %edi
56d1da:	5e                   	pop    %esi
56d1db:	5d                   	pop    %ebp
56d1dc:	33 c0                	xor    %eax,%eax
56d1de:	5b                   	pop    %ebx
56d1df:	83 c4 28             	add    $0x28,%esp
56d1e2:	c3                   	ret
56d1e3:	5f                   	pop    %edi
56d1e4:	8b c6                	mov    %esi,%eax
56d1e6:	5e                   	pop    %esi
56d1e7:	5d                   	pop    %ebp
56d1e8:	5b                   	pop    %ebx
56d1e9:	83 c4 28             	add    $0x28,%esp
56d1ec:	c3                   	ret
56d1ed:	68 55 01 00 00       	push   $0x155
56d1f2:	68 c4 94 65 00       	push   $0x6594c4
56d1f7:	55                   	push   %ebp
56d1f8:	e8 83 35 f7 ff       	call   0x4e0780
56d1fd:	83 c4 0c             	add    $0xc,%esp
56d200:	b8 35 00 00 00       	mov    $0x35,%eax
56d205:	5f                   	pop    %edi
56d206:	5e                   	pop    %esi
56d207:	5d                   	pop    %ebp
56d208:	5b                   	pop    %ebx
56d209:	83 c4 28             	add    $0x28,%esp
56d20c:	c3                   	ret
56d20d:	5f                   	pop    %edi
56d20e:	5e                   	pop    %esi
56d20f:	5d                   	pop    %ebp
56d210:	b8 11 00 00 00       	mov    $0x11,%eax
56d215:	5b                   	pop    %ebx
56d216:	83 c4 28             	add    $0x28,%esp
56d219:	c3                   	ret
56d21a:	cc                   	int3
56d21b:	cc                   	int3
56d21c:	cc                   	int3
56d21d:	cc                   	int3
56d21e:	cc                   	int3
56d21f:	cc                   	int3
56d220:	68 34 94 65 00       	push   $0x659434
56d225:	ff 74 24 08          	push   0x8(%esp)
56d229:	e8 92 f0 f7 ff       	call   0x4ec2c0
56d22e:	83 c4 08             	add    $0x8,%esp
56d231:	c3                   	ret
56d232:	cc                   	int3
56d233:	cc                   	int3
56d234:	cc                   	int3
56d235:	cc                   	int3
56d236:	cc                   	int3
56d237:	cc                   	int3
56d238:	cc                   	int3
56d239:	cc                   	int3
56d23a:	cc                   	int3
56d23b:	cc                   	int3
56d23c:	cc                   	int3
56d23d:	cc                   	int3
56d23e:	cc                   	int3
56d23f:	cc                   	int3
56d240:	b8 04 00 00 00       	mov    $0x4,%eax
56d245:	e8 66 45 06 00       	call   0x5d17b0
56d24a:	53                   	push   %ebx
56d24b:	55                   	push   %ebp
56d24c:	56                   	push   %esi
56d24d:	57                   	push   %edi
56d24e:	ff 74 24 1c          	push   0x1c(%esp)
56d252:	e8 69 7e f7 ff       	call   0x4e50c0
56d257:	8b 74 24 28          	mov    0x28(%esp),%esi
56d25b:	83 c4 04             	add    $0x4,%esp
56d25e:	8b 7c 24 20          	mov    0x20(%esp),%edi
56d262:	85 c0                	test   %eax,%eax
56d264:	7e 18                	jle    0x56d27e
56d266:	ff 74 24 28          	push   0x28(%esp)
56d26a:	68 64 25 60 00       	push   $0x602564
56d26f:	56                   	push   %esi
56d270:	68 f8 94 65 00       	push   $0x6594f8
56d275:	57                   	push   %edi
56d276:	e8 c5 52 f7 ff       	call   0x4e2540
56d27b:	83 c4 14             	add    $0x14,%esp
56d27e:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
56d282:	33 ed                	xor    %ebp,%ebp
56d284:	53                   	push   %ebx
56d285:	e8 36 7e f7 ff       	call   0x4e50c0
56d28a:	83 c4 04             	add    $0x4,%esp
56d28d:	85 c0                	test   %eax,%eax
56d28f:	0f 8e 0f 01 00 00    	jle    0x56d3a4