565e75:	ff 74 24 14          	push   0x14(%esp)
565e79:	ff 70 28             	push   0x28(%eax)
565e7c:	ff 74 24 18          	push   0x18(%esp)
565e80:	ff 74 24 18          	push   0x18(%esp)
565e84:	e8 e7 0d 00 00       	call   0x566c70
565e89:	8b f0                	mov    %eax,%esi
565e8b:	83 c4 10             	add    $0x10,%esp
565e8e:	85 f6                	test   %esi,%esi
565e90:	75 20                	jne    0x565eb2
565e92:	68 86 03 00 00       	push   $0x386
565e97:	68 9c 7e 65 00       	push   $0x657e9c
565e9c:	68 a5 00 00 00       	push   $0xa5
565ea1:	68 28 01 00 00       	push   $0x128
565ea6:	6a 10                	push   $0x10
565ea8:	e8 d3 30 f7 ff       	call   0x4d8f80
565ead:	83 c4 14             	add    $0x14,%esp
565eb0:	8b c6                	mov    %esi,%eax
565eb2:	5e                   	pop    %esi
565eb3:	c3                   	ret
565eb4:	cc                   	int3
565eb5:	cc                   	int3
565eb6:	cc                   	int3
565eb7:	cc                   	int3
565eb8:	cc                   	int3
565eb9:	cc                   	int3
565eba:	cc                   	int3
565ebb:	cc                   	int3
565ebc:	cc                   	int3
565ebd:	cc                   	int3
565ebe:	cc                   	int3
565ebf:	cc                   	int3
565ec0:	b8 c0 7d 65 00       	mov    $0x657dc0,%eax
565ec5:	c3                   	ret
565ec6:	cc                   	int3
565ec7:	cc                   	int3
565ec8:	cc                   	int3
565ec9:	cc                   	int3
565eca:	cc                   	int3
565ecb:	cc                   	int3
565ecc:	cc                   	int3
565ecd:	cc                   	int3
565ece:	cc                   	int3
565ecf:	cc                   	int3
565ed0:	b8 04 00 00 00       	mov    $0x4,%eax
565ed5:	e8 d6 b8 06 00       	call   0x5d17b0
565eda:	53                   	push   %ebx
565edb:	55                   	push   %ebp
565edc:	56                   	push   %esi
565edd:	57                   	push   %edi
565ede:	8b 7c 24 20          	mov    0x20(%esp),%edi
565ee2:	bd fe ff ff ff       	mov    $0xfffffffe,%ebp
565ee7:	57                   	push   %edi
565ee8:	33 db                	xor    %ebx,%ebx
565eea:	e8 21 1f f8 ff       	call   0x4e7e10
565eef:	57                   	push   %edi
565ef0:	e8 db 1c f8 ff       	call   0x4e7bd0
565ef5:	57                   	push   %edi
565ef6:	8b f0                	mov    %eax,%esi
565ef8:	e8 d3 1c f8 ff       	call   0x4e7bd0
565efd:	8b f8                	mov    %eax,%edi
565eff:	83 c4 0c             	add    $0xc,%esp
565f02:	85 ff                	test   %edi,%edi
565f04:	0f 84 fa 01 00 00    	je     0x566104
565f0a:	ff 74 24 18          	push   0x18(%esp)
565f0e:	56                   	push   %esi
565f0f:	e8 cc 3b f7 ff       	call   0x4d9ae0
565f14:	83 c4 08             	add    $0x8,%esp
565f17:	85 c0                	test   %eax,%eax
565f19:	0f 94 c3             	sete   %bl
565f1c:	85 c0                	test   %eax,%eax
565f1e:	0f 84 e0 01 00 00    	je     0x566104
565f24:	ff 74 24 1c          	push   0x1c(%esp)
565f28:	57                   	push   %edi
565f29:	e8 b2 3b f7 ff       	call   0x4d9ae0
565f2e:	33 db                	xor    %ebx,%ebx
565f30:	83 c4 08             	add    $0x8,%esp
565f33:	85 c0                	test   %eax,%eax
565f35:	0f 94 c3             	sete   %bl
565f38:	85 c0                	test   %eax,%eax
565f3a:	0f 84 c4 01 00 00    	je     0x566104
565f40:	57                   	push   %edi
565f41:	e8 1a 3e f7 ff       	call   0x4d9d60
565f46:	83 c4 04             	add    $0x4,%esp
565f49:	85 c0                	test   %eax,%eax
565f4b:	74 12                	je     0x565f5f
565f4d:	6a 01                	push   $0x1
565f4f:	56                   	push   %esi
565f50:	e8 eb 36 f7 ff       	call   0x4d9640
565f55:	83 c4 08             	add    $0x8,%esp
565f58:	8b e8                	mov    %eax,%ebp
565f5a:	e9 a5 01 00 00       	jmp    0x566104
565f5f:	56                   	push   %esi
565f60:	e8 8b 3d f7 ff       	call   0x4d9cf0
565f65:	83 c4 04             	add    $0x4,%esp
565f68:	85 c0                	test   %eax,%eax
565f6a:	75 14                	jne    0x565f80
565f6c:	57                   	push   %edi
565f6d:	e8 7e 3d f7 ff       	call   0x4d9cf0
565f72:	83 c4 04             	add    $0x4,%esp
565f75:	85 c0                	test   %eax,%eax
565f77:	75 07                	jne    0x565f80
565f79:	33 ed                	xor    %ebp,%ebp
565f7b:	e9 84 01 00 00       	jmp    0x566104
565f80:	33 db                	xor    %ebx,%ebx
565f82:	53                   	push   %ebx
565f83:	57                   	push   %edi
565f84:	89 5c 24 18          	mov    %ebx,0x18(%esp)
565f88:	e8 23 3d f7 ff       	call   0x4d9cb0
565f8d:	83 c4 08             	add    $0x8,%esp
565f90:	85 c0                	test   %eax,%eax
565f92:	75 13                	jne    0x565fa7
565f94:	43                   	inc    %ebx
565f95:	53                   	push   %ebx
565f96:	57                   	push   %edi
565f97:	e8 14 3d f7 ff       	call   0x4d9cb0
565f9c:	83 c4 08             	add    $0x8,%esp
565f9f:	85 c0                	test   %eax,%eax
565fa1:	74 f1                	je     0x565f94
565fa3:	89 5c 24 10          	mov    %ebx,0x10(%esp)
565fa7:	53                   	push   %ebx
565fa8:	57                   	push   %edi
565fa9:	57                   	push   %edi
565faa:	e8 31 4c f8 ff       	call   0x4eabe0
565faf:	33 db                	xor    %ebx,%ebx
565fb1:	83 c4 0c             	add    $0xc,%esp
565fb4:	85 c0                	test   %eax,%eax
565fb6:	0f 94 c3             	sete   %bl
565fb9:	85 c0                	test   %eax,%eax
565fbb:	0f 84 43 01 00 00    	je     0x566104
565fc1:	f6 44 24 10 01       	testb  $0x1,0x10(%esp)
565fc6:	74 24                	je     0x565fec
565fc8:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
565fcc:	75 0e                	jne    0x565fdc
565fce:	33 ed                	xor    %ebp,%ebp
565fd0:	83 e5 07             	and    $0x7,%ebp
565fd3:	8b 2c ad b4 7e 65 00 	mov    0x657eb4(,%ebp,4),%ebp
565fda:	eb 15                	jmp    0x565ff1
565fdc:	8b 06                	mov    (%esi),%eax
565fde:	8b 28                	mov    (%eax),%ebp
565fe0:	83 e5 07             	and    $0x7,%ebp
565fe3:	8b 2c ad b4 7e 65 00 	mov    0x657eb4(,%ebp,4),%ebp
565fea:	eb 05                	jmp    0x565ff1
565fec:	bd 01 00 00 00       	mov    $0x1,%ebp
565ff1:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
565ff5:	74 0f                	je     0x566006
565ff7:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
565ffe:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
566002:	74 02                	je     0x566006
566004:	f7 dd                	neg    %ebp
566006:	56                   	push   %esi
566007:	e8 54 3d f7 ff       	call   0x4d9d60
56600c:	83 c4 04             	add    $0x4,%esp
56600f:	85 c0                	test   %eax,%eax
566011:	0f 85 d8 00 00 00    	jne    0x5660ef
566017:	33 db                	xor    %ebx,%ebx
566019:	53                   	push   %ebx
56601a:	56                   	push   %esi
56601b:	e8 90 3c f7 ff       	call   0x4d9cb0
566020:	83 c4 08             	add    $0x8,%esp
566023:	85 c0                	test   %eax,%eax
566025:	75 0f                	jne    0x566036
566027:	43                   	inc    %ebx
566028:	53                   	push   %ebx
566029:	56                   	push   %esi
56602a:	e8 81 3c f7 ff       	call   0x4d9cb0
56602f:	83 c4 08             	add    $0x8,%esp
566032:	85 c0                	test   %eax,%eax
566034:	74 f1                	je     0x566027
566036:	53                   	push   %ebx
566037:	56                   	push   %esi
566038:	56                   	push   %esi
566039:	e8 a2 4b f8 ff       	call   0x4eabe0
56603e:	33 c9                	xor    %ecx,%ecx
566040:	83 c4 0c             	add    $0xc,%esp
566043:	85 c0                	test   %eax,%eax
566045:	0f 94 c1             	sete   %cl
566048:	89 4c 24 10          	mov    %ecx,0x10(%esp)
56604c:	85 c0                	test   %eax,%eax
56604e:	0f 84 ac 00 00 00    	je     0x566100
566054:	f6 c3 01             	test   $0x1,%bl
566057:	74 1b                	je     0x566074
566059:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
56605d:	75 04                	jne    0x566063
56605f:	33 c0                	xor    %eax,%eax
566061:	eb 04                	jmp    0x566067
566063:	8b 07                	mov    (%edi),%eax
566065:	8b 00                	mov    (%eax),%eax
566067:	83 e0 07             	and    $0x7,%eax
56606a:	8b 04 85 b4 7e 65 00 	mov    0x657eb4(,%eax,4),%eax
566071:	0f af e8             	imul   %eax,%ebp
566074:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
566078:	8b 46 04             	mov    0x4(%esi),%eax
56607b:	74 12                	je     0x56608f
56607d:	85 c0                	test   %eax,%eax
56607f:	75 06                	jne    0x566087
566081:	33 c9                	xor    %ecx,%ecx
566083:	f7 d1                	not    %ecx
566085:	eb 14                	jmp    0x56609b
566087:	8b 06                	mov    (%esi),%eax
566089:	8b 08                	mov    (%eax),%ecx
56608b:	f7 d1                	not    %ecx
56608d:	eb 0c                	jmp    0x56609b
56608f:	85 c0                	test   %eax,%eax
566091:	75 04                	jne    0x566097
566093:	33 c9                	xor    %ecx,%ecx
566095:	eb 04                	jmp    0x56609b
566097:	8b 06                	mov    (%esi),%eax
566099:	8b 08                	mov    (%eax),%ecx
56609b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
56609f:	75 04                	jne    0x5660a5
5660a1:	33 d2                	xor    %edx,%edx
5660a3:	eb 04                	jmp    0x5660a9
5660a5:	8b 07                	mov    (%edi),%eax
5660a7:	8b 10                	mov    (%eax),%edx
5660a9:	ff 74 24 20          	push   0x20(%esp)
5660ad:	8b c5                	mov    %ebp,%eax
5660af:	23 d1                	and    %ecx,%edx
5660b1:	f7 d8                	neg    %eax
5660b3:	80 e2 02             	and    $0x2,%dl
5660b6:	56                   	push   %esi
5660b7:	0f 44 c5             	cmove  %ebp,%eax
5660ba:	57                   	push   %edi
5660bb:	57                   	push   %edi
5660bc:	8b e8                	mov    %eax,%ebp
5660be:	e8 fd 76 f9 ff       	call   0x4fd7c0
5660c3:	33 db                	xor    %ebx,%ebx
5660c5:	83 c4 10             	add    $0x10,%esp
5660c8:	85 c0                	test   %eax,%eax
5660ca:	0f 94 c3             	sete   %bl
5660cd:	85 c0                	test   %eax,%eax
5660cf:	74 33                	je     0x566104
5660d1:	8b c6                	mov    %esi,%eax
5660d3:	8b f7                	mov    %edi,%esi
5660d5:	56                   	push   %esi
5660d6:	8b f8                	mov    %eax,%edi
5660d8:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
5660df:	e8 7c 3c f7 ff       	call   0x4d9d60
5660e4:	83 c4 04             	add    $0x4,%esp
5660e7:	85 c0                	test   %eax,%eax
5660e9:	0f 84 28 ff ff ff    	je     0x566017
5660ef:	57                   	push   %edi
5660f0:	e8 1b 3c f7 ff       	call   0x4d9d10
5660f5:	83 c4 04             	add    $0x4,%esp
5660f8:	f7 d8                	neg    %eax
5660fa:	1b c0                	sbb    %eax,%eax
5660fc:	23 e8                	and    %eax,%ebp
5660fe:	eb 04                	jmp    0x566104
566100:	8b 5c 24 10          	mov    0x10(%esp),%ebx
566104:	ff 74 24 20          	push   0x20(%esp)
566108:	e8 c3 19 f8 ff       	call   0x4e7ad0
56610d:	83 c4 04             	add    $0x4,%esp
566110:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
566115:	85 db                	test   %ebx,%ebx
566117:	0f 45 e8             	cmovne %eax,%ebp
56611a:	5f                   	pop    %edi
56611b:	5e                   	pop    %esi
56611c:	8b c5                	mov    %ebp,%eax
56611e:	5d                   	pop    %ebp
56611f:	5b                   	pop    %ebx
566120:	59                   	pop    %ecx
566121:	c3                   	ret
566122:	cc                   	int3
566123:	cc                   	int3
566124:	cc                   	int3
566125:	cc                   	int3
566126:	cc                   	int3
566127:	cc                   	int3
566128:	cc                   	int3
566129:	cc                   	int3
56612a:	cc                   	int3
56612b:	cc                   	int3
56612c:	cc                   	int3
56612d:	cc                   	int3
56612e:	cc                   	int3
56612f:	cc                   	int3
566130:	b8 1c 00 00 00       	mov    $0x1c,%eax
566135:	e8 76 b6 06 00       	call   0x5d17b0
56613a:	53                   	push   %ebx
56613b:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
56613f:	55                   	push   %ebp
566140:	56                   	push   %esi
566141:	8b 74 24 2c          	mov    0x2c(%esp),%esi
566145:	57                   	push   %edi
566146:	8b fe                	mov    %esi,%edi
566148:	53                   	push   %ebx
566149:	89 7c 24 14          	mov    %edi,0x14(%esp)
56614d:	e8 9e 3b f7 ff       	call   0x4d9cf0
566152:	8b 6c 24 40          	mov    0x40(%esp),%ebp
566156:	83 c4 04             	add    $0x4,%esp
566159:	85 c0                	test   %eax,%eax
56615b:	0f 84 4a 06 00 00    	je     0x5667ab
566161:	6a 01                	push   $0x1
566163:	53                   	push   %ebx
566164:	e8 d7 34 f7 ff       	call   0x4d9640
566169:	83 c4 08             	add    $0x8,%esp
56616c:	85 c0                	test   %eax,%eax
56616e:	0f 85 37 06 00 00    	jne    0x5667ab
566174:	8b 74 24 34          	mov    0x34(%esp),%esi
566178:	56                   	push   %esi
566179:	e8 e2 3b f7 ff       	call   0x4d9d60
56617e:	83 c4 04             	add    $0x4,%esp
566181:	85 c0                	test   %eax,%eax
566183:	0f 85 f5 05 00 00    	jne    0x56677e
566189:	56                   	push   %esi
56618a:	e8 81 3b f7 ff       	call   0x4d9d10
56618f:	83 c4 04             	add    $0x4,%esp
566192:	85 c0                	test   %eax,%eax
566194:	0f 85 e4 05 00 00    	jne    0x56677e
56619a:	55                   	push   %ebp
56619b:	e8 70 1c f8 ff       	call   0x4e7e10
5661a0:	55                   	push   %ebp
5661a1:	e8 2a 1a f8 ff       	call   0x4e7bd0
5661a6:	55                   	push   %ebp
5661a7:	89 44 24 28          	mov    %eax,0x28(%esp)
5661ab:	e8 20 1a f8 ff       	call   0x4e7bd0
5661b0:	55                   	push   %ebp
5661b1:	89 44 24 30          	mov    %eax,0x30(%esp)
5661b5:	e8 16 1a f8 ff       	call   0x4e7bd0
5661ba:	55                   	push   %ebp
5661bb:	89 44 24 38          	mov    %eax,0x38(%esp)
5661bf:	e8 0c 1a f8 ff       	call   0x4e7bd0
5661c4:	55                   	push   %ebp
5661c5:	8b f0                	mov    %eax,%esi
5661c7:	e8 04 1a f8 ff       	call   0x4e7bd0
5661cc:	55                   	push   %ebp
5661cd:	89 44 24 34          	mov    %eax,0x34(%esp)
5661d1:	e8 fa 19 f8 ff       	call   0x4e7bd0
5661d6:	83 c4 1c             	add    $0x1c,%esp
5661d9:	89 44 24 14          	mov    %eax,0x14(%esp)
5661dd:	85 c0                	test   %eax,%eax
5661df:	0f 84 5c 02 00 00    	je     0x566441
5661e5:	85 ff                	test   %edi,%edi
5661e7:	75 13                	jne    0x5661fc
5661e9:	e8 f2 3b f7 ff       	call   0x4d9de0
5661ee:	8b f8                	mov    %eax,%edi
5661f0:	89 7c 24 10          	mov    %edi,0x10(%esp)
5661f4:	85 ff                	test   %edi,%edi
5661f6:	0f 84 45 02 00 00    	je     0x566441
5661fc:	55                   	push   %ebp
5661fd:	53                   	push   %ebx
5661fe:	ff 74 24 3c          	push   0x3c(%esp)
566202:	ff 74 24 28          	push   0x28(%esp)
566206:	e8 b5 75 f9 ff       	call   0x4fd7c0
56620b:	83 c4 10             	add    $0x10,%esp
56620e:	85 c0                	test   %eax,%eax
566210:	0f 84 14 02 00 00    	je     0x56642a
566216:	bf 01 00 00 00       	mov    $0x1,%edi
56621b:	57                   	push   %edi
56621c:	53                   	push   %ebx
56621d:	e8 8e 3a f7 ff       	call   0x4d9cb0